ein besserer Titel für meine Frage ist mir leider nicht eingefallen
Ich suche einen regulären Ausdruck, der ein Wort matcht, welches folgendes enthält (alles optional):
- Buchstaben
- Ziffern
- Die Zeichenfolge
Wichtig: Doppelpunkte ohne vorangestelltes Fragezeichen sind nicht im Wort enthalten. Wenn Doppelpunkt, dann muss davor ein Fragezeichen kommen.
Den gesuchten Wörtern ist immer eine Reihe von Doppelpunkten vorangestellt.
Beispiel (die gesuchten Wörter in großer Schrift):
:::::::::::mTMFN1:********0340+:::::::::SOiPhone
Mein Ansatz ist, die Wörter mittels Capture Groups auszulesen. Folgende Regex ist mir bisher eingefallen:
:+([\w\d(\:question:)]+)
Das funktioniert nicht 100%, da der Doppelpunkt nach MFN1 im Match enthalten ist (was nicht sein soll):
- mTMFN1: (falsch, der Doppelpunkt am Ende soll nicht enthalten sein)
- SOiPhone (richtig)
Hier kann man damit rumspielen:
Frage: welche Regex matcht die gesuchte Zeichenfolge, aber ignoriert ':' ohne vorangestelltes Fragezeichen?
Gruß