Sagen Sie, ich habe Vektor von Strings:
%Vor%Wie schreibe ich Regex, das zu allen Strings passt, die der Phrase "low" ähneln?
grep("lo", v, ignore.case=T) # 1 2 3 4 5 6 7
Dies entspricht auch der ersten Zeichenfolge, die ich nicht möchte.
Wie passt man lo
nur an, wenn nicht mit dem Buchstaben c
?
R verwendet die PCRE-Engine, die Lookbehind unterstützt. Tun Sie dies:
%Vor% Der negative Lookbehind (?<!c)
behauptet, dass das, was der aktuellen Position vorausgeht, kein c
Option 2: Großbuchstaben prüfen, Inline-Groß- / Kleinschreibung aktivieren
Nach Ihrer Eingabe wäre eine allgemeinere Option, zu behaupten, dass lo
kein Großbuchstabe vorangestellt ist:
Für diese Option verwenden wir den Inline-Modifizierer (?i)
, um die Groß- / Kleinschreibung zu aktivieren, aber erst nachdem wir überprüft haben, dass vor unserer Position keine Großbuchstaben stehen.
Referenz