RegulärExp
-
hallo,
ich brauche einen regulären ausdruck der "wann, wo" und "was" an beliebiger Stelle und Schreibweise findet. Die Zeichenreihen sollen am Ende ein Fragezeichen ? enthalten.
Meiner funktioniert irgendwie nicht:
"/.*(wo|wann|was).*\?/Z/i"
-
Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (auch C++0x und C++11) in das Forum Rund um die Programmierung verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Du hast den Ausdruck, den du suchst, nicht eindeutig beschrieben.
Wenn man ihn auf den Satz anwenden würde:ich brauche einen regulären ausdruck der "wann, wo" und "was" an beliebiger Stelle und Schreibweise findet. Die Zeichenreihen sollen am Ende ein Fragezeichen ? enthalten.
Was möchtest du finden? Nur das erste "wann"? Oder alle drei "wann", "wo" und, "was"? Oder nur das letzte "was"?
Möchtest du nur "wann" finden (so habe ich es verstanden), wäre das die Lösung:
/((?:wo)|(?:wann)|(?:was)).*\?/i
-
du hast es schon richtig interpretiert, einer von den "dreien" egal wo. wie auch immer es klappt, vielen Dank.
-
eine Frage hätte ich noch. Für was ist der Doppelpunkt im Ausdruck?
-
Das ist eine Non Capturing Group.
-
Wie Michael E. sagt steht (?:) für eine Non Capturing Group.
Funktioniert genauso wie normale Groups (also einfache Klammern), die Funde werden allerdings nicht in Variablen gespeichert, die du später auslesen könntest.