Ich verwende reguläre Ausdrücke in R, um Zeichenfolgen aus einer Variablen zu extrahieren. Die Variable enthält verschiedene Werte, die wie folgt aussehen:Regulärer Ausdruck: Mehrere Wörter zusammenpassen
MEDIUM/REGULAR Schrittlänge
XX LARGE/SHORT Schrittlänge
SMALL/32" INSM
X LARGE/30" INSM
I müssen zwei Dinge erfassen: den Wert vor dem /
als Ganzes (SMALL, XX LARGE) und die Zeichenkette (alphabetisch oder numerisch) danach. Ich möchte nicht den " INSM
oder den INSEAM
Teil.
Der reguläre Ausdruck für die ersten beiden, die ich verwende, ist ([A-Z]\w+) \/([A-Z]\w+) INSEAM
und für die letzten zwei verwende ich ([A-Z]\w+) \/([0-9][0-9])[" INSM]
. Der Teil ([A-Z]\w+)
erfasst nur ein Wort, also funktioniert es gut für MEDIUM und SMALL, aber für X LARGE, XX LARGE etc. fehlgeschlagen. Gibt es eine Möglichkeit, es zu ändern, um zwei Vorkommen von Wort vor dem /
Zeichen zu erfassen? Oder gibt es einen besseren Weg?
Vielen Dank im Voraus!
Try [ '(\ w + (?: \ w +)?) * \/* (\ W +" (?: \ w +)?) '] (https://regex101.com/r/zA3bA8/1) –
Danke, Wiktor, aber es fängt auch den INSM/INSEAM-Teil ein. Ich habe die Frage bearbeitet, um das zu reflektieren. – gagandeep91
Also, noch einfacher [' (\ w + (?: \ w +)?) * \/* (\ w +) '] (https://regex101.com/r/zA3bA8/3) könnte das tun? –