Ich habe diese regexRegex erhalten erste Teil einer Zeichenfolge
(?<=\d\.\s).+(?=\s-\s)
Es funktioniert großartig, wenn ich einen String haben wie
3. product - sub product
Die Regex gibt mir das Produkt (erster Teil). Wenn ein Unterprodukt vorhanden ist, wird es durch einen Strich, der von Leerzeichen umgeben ist, vom Produkt getrennt (-
).
Allerdings gibt es einige Produkte, die kein Unterprodukt haben. Zum Beispiel:
6. ComprehensiveBolt
Die Regex sollte mir comprehensiveBolt
geben, aber es gibt nichts zurück.
Welches Update muss ich an meinem Regex vornehmen, damit ich das Produkt unabhängig von der Anwesenheit oder einem anderen Produkt erhalten kann?
'?' Bedeutet optional. Sie können das verwenden. –
können Sie hier die vollständige Syntax angeben. Ich muss etwas falsch machen. –
Es funktioniert nicht so. Sie verwenden '(? = \ S- \ s)', um das Produkt zu qualifizieren. Wenn du es _optional_ '(? = \ S- \ s) machst, wird es niemals mit der Behauptung übereinstimmen müssen, und wahrscheinlich auch nicht. Der bessere Ansatz ist die Verwendung von Grenz- oder Whitespace-Indikatoren. Du könntest versuchen '(? <= \ D \. \ S). +? (? = \ S- \ s)?' Aber du musst das '. +' '' 'Nicht gierig machen. – sln