2017-11-01 1 views
-1

Gibt es eine Möglichkeit, eine Regex-Übereinstimmung nur mit der Super-Exakt-Formel zu erstellen, wie in diesem Beispiel mit beauty-stuff?Genaue Übereinstimmung bei mehreren Vorkommen eines Wortes finden

enter image description here

Ich habe eine Regex unten geschrieben:

labels = beauty|beauty-stuff|beauty-salon|beauty-bar 

Es stimmt mit dem ersten Wort als das Spielergebnis.

+1

Was meinen Sie mit "Match the Super Exact One"? Können Sie ein Beispiel dafür geben, welche Texte zusammenpassen? – YouneL

+0

Wenn string "labels/beauty-stuff" ist, wird es immer "schöner" als das Ergebnis der Übereinstimmung ... Ich möchte, dass regulärer Ausdruck 'beauty-stuff' anstelle von' beauty' kommt. @YouNeL –

+0

der Regex-Ausdruck von das beispiel ist '/ beauty | beauty-stuff | beauty-salon | beauty-bar /' @YouneL –

Antwort

0

Bestelle Stuff nach absteigender Länge. /beauty|beauty-stuff/ findet beauty sowohl in "labels/beauty" als auch "labels/beauty-stuff"; /beauty-stuff|beauty/ (oder seine stärker optimierte Version, /beauty(?:-stuff|)/) finden beauty-stuff in "labels/beauty-stuff", beauty in "labels/beauty". Dies funktioniert, weil Regex immer die erste passende Alternation zurückgibt (frühestmögliche übereinstimmende Position).

+0

Ok danke das werde ich versuchen. –

Verwandte Themen