R grep pattern regex со скобками - PullRequest
19 голосов
/ 03 ноября 2011

У меня проблема с grep в R:

patterns= c("AB_(1)","AB_(2)")
text= c("AB_(1)","DDD","CC")

grep(patterns[1],text)
>integer(0)  ????

команда grep имеет проблемы с скобками "()", есть ли as.XX (pattern [1]), которые я могу использовать ??

Ответы [ 2 ]

27 голосов
/ 03 ноября 2011

Вам нужно выбрать двойную обратную косую черту:

> patterns= c("AB_\\(1\\)","AB_(2)")
> text= c("AB_(1)","DDD","CC")
> 
> grep(patterns[1],text)
[1] 1
17 голосов
/ 03 ноября 2011

Если в регулярном выражении нет специальных символов, совпадающих с шаблоном (как в примере, показанном в вопросе), используйте fixed=TRUE:

grep(patterns[1], text, fixed = TRUE)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...