Ich habe einige Probleme mit einem Muster mit einer Zeichenfolge in R
.POSIX Zeichenklasse funktioniert nicht in der Basis R Regex
Ich versuche TRUE
mit grepl
zu erhalten, wenn der Text so etwas wie "lettersornumbersorspaces y lettersornumbersorspaces".
Ich verwende die folgenden regex
:
([:alnum:]|[:blank:])+[:blank:][yY][:blank:]([:alnum:]|[:blank:])+
Wenn die regex
wie folgt verwendet, die „Adresse zu erhalten "Es funktioniert bei erwartet.
regex <- "([:alnum:]|[:blank:])+[:blank:][yY][:blank:]([:alnum:]|[:blank:])+"
address <- str_extract(fulltext, regex)
ich die Adresse sehen, ist der Text, den ich brauche. Nun, wenn ich will grepl
verwenden, um eine TRUE
wie folgt zu erhalten:
grepl("([:alnum:]|[:blank:])+[:blank:][yY][:blank:]([:alnum:]|[:blank:])+", address,ignore.case = TRUE)
FALSE
zurückgegeben. Wie ist das möglich? Ich verwende das gleiche regex
, um TRUE
zu erhalten. Ich habe Änderungen an den grepl
Parametern versucht, aber keiner von ihnen ist damit verbunden.
Ein Beispiel für Text ist: "26 de Marzo y Pareyra de la Luz"
Dank !!
POSIX-Zeichenklassen müssen innerhalb Klammerausdrücke sein. '[: alnum:]' -> '[[: alnum:]]]'. Sie scheinen auch ein PCRE-Muster mit 'grepl' zu verwenden, fügen Sie' perl = TRUE' hinzu. –
Das hat funktioniert! Vielen Dank!! =) –
Schön, dass es für dich funktioniert hat. Bitte überlegen Sie, die Antwort zu akzeptieren (siehe [So akzeptieren Sie SO-Antworten] (http: //meta.stackexchange.com/questions/5234/Wie-akzeptiert-eine-Antwort-Arbeit)). –