У меня возникли проблемы с сопоставлением шаблона со строкой текста в R
.
Я пытаюсь получить TRUE
с помощью grepl
, когда текст похож на "lettersornumbersorspaces y lettersornumbersorspaces".
Я использую следующие regex
:
([:alnum:]|[:blank:])+[:blank:][yY][:blank:]([:alnum:]|[:blank:])+
При использовании regex
следующим образом для получения «адреса» он работает с ожидаемой скоростью.
regex <- "([:alnum:]|[:blank:])+[:blank:][yY][:blank:]([:alnum:]|[:blank:])+"
address <- str_extract(fulltext, regex)
Я вижу, что адрес - это текст, который мне нужен. Теперь, если я хочу использовать grepl
для получения TRUE
следующим образом:
grepl("([:alnum:]|[:blank:])+[:blank:][yY][:blank:]([:alnum:]|[:blank:])+", address,ignore.case = TRUE)
FALSE
возвращается. Как это возможно? Я использую тот же regex
, чтобы получить TRUE
. Я пробовал модифицировать параметры grepl
, но ни один из них не связан с этим.
Пример текста: "26 de Marzo y Pareyra de la Luz"
Спасибо!!
[:alnum:]
->[[:alnum:]]
. Кроме того, вы, кажется, хотите использовать шаблон PCRE сgrepl
, добавьтеperl=TRUE
. - person Wiktor Stribiżew   schedule 03.02.2017