2016-06-02 29 views
-2

Ich möchte überprüfen, ob ein Satz eines dieser Muster entspricht:Regeln mit regulären Ausdrücken

[iI]t(\w*\s)?((is)|(became))\s((clear)|(possible)|(important)|(necessary))(to)? 

Beispiel Sätze:

It is important to note... 
It became clear that... 

ich auf eine Datei versucht, die diese Struktur enthält, aber es gibt kein Ergebnis.

Also, ich möchte wissen, ob meine regulären Ausdruck korrekt ist oder nicht.

+2

Achten Sie auf die runden Klammern, gibt es eine Abweichung in der Reihenfolge. 'wurde))' ... '((clear' –

+0

) Ich habe die öffnung und die schließende Klammer vergessen – AbirH

+5

Bitte kopieren und fügen Sie den genauen Code ein, den Sie verwenden, anstatt es im Fragefeld zu verfassen – ThisSuitIsBlackNot

Antwort

1

Sie haben einen Raum vor to vergessen:

[iI]t(\w*\s)?((is)|(became))\s((clear)|(possible)|(important)|(necessary))\s*(to)? 
                    here __^^^ 

Sind Sie sicher, dass Sie alle Wörter aufnehmen möchten? Wenn nicht, könnte die Regex:

[iI]t\w*\s(?:is|became)\s(?:clear|possible|important|necessary)\s*(?:to)? 
+0

Das 'to' ist optional, also funktioniert der Regex des OPs as-is an beiden Beispiel-Strings, die sie gaben – ThisSuitIsBlackNot

+0

@ThisSuitIsBlackNot OPs Regex wie funktioniert, aber erfasst nicht 'to' für die erste Zeichenkette, da sie' \ s * ' –

+1

@Orions vermissen Das ist in Ordnung, aber das ist nicht das Problem Sie beschrieben: "Die einzige Erklärung, die sie gaben, war" es gibt kein Ergebnis, "was vage genug ist, dass die Frage wirklich nicht beantwortet werden sollte, bis sie ihren Code und ihre Erklärung hinzugefügt haben d was das eigentliche Problem ist. Es ist noch nicht einmal klar, dass sie überhaupt etwas erfassen wollen, da sie nur sagen wollen, dass sie "überprüfen wollen, ob ein Satz * zu * passt." – ThisSuitIsBlackNot

Verwandte Themen