Хотел выяснить, соответствуют ли элементы строго шаблону «BQQ», за которым следуют 3 цифры.

pattern <- "^BQQ\\d{3}"
sum(table(grep(pattern, c("BQQ63252", "BQQ0508", "BQQ558", "BQQ202"), value = TRUE)))


[1] 4

Он возвращает, что все 4 элемента совпадают. Кажется, он принимает все, состоящие из 3-х и более 3-х цифр.

Как можно считать только «BQQ», за которым следуют 3 цифры? Спасибо.

0
Mark K 27 Фев 2018 в 07:33

1 ответ

Лучший ответ

Добавьте закрывающую привязку к вашему шаблону grep:

pattern <- "^BQQ\\d{3}$"
grep(pattern, c("BQQ63252", "BQQ0508", "BQQ558", "BQQ202"))

[1] 3 4

Демо

2
Tim Biegeleisen 27 Фев 2018 в 07:35