Page 1 of 1

Fangen Sie den Text mit einem Regex mit bestimmten Regeln an

Posted: 01 Jul 2025, 10:28
by Anonymous
OK, ich versuche, Text mit einem Regex mit den folgenden Regeln zu fangen:

[*] Jede neue Zeile beginnt mit dem Worttyp oder tag und: kommt danach. | Typ oder tag sollte die Capture Group 1
[*] Ein Varchar sein, das nach: | vorhanden sein kann Dieser Varchar sollte die Erfassungsgruppe 2 < /li>
sein

Code: Select all

\\
kommt danach
[*] Eine Nummer kommt nach \\ | Diese Zahl sollte die Capture Group 3 < /li>
sein

Code: Select all

?
könnte nach der Nummer kommen
[*] Wenn wir haben? Dieser Varchar sollte die Aufnahmegruppe 4
Wenn wir haben? Dieser Varchar sollte die Erfassungsgruppe 5 < /li>
< /ul>
Beispiele: < /p>
sein

Code: Select all

type:test\\1?value12:value9        // Should get: Group 1 = type, Group 2 = test, Group 3 = 1, Group 4 = value12, Group 5 = value9

type:\\22?value62:value3        // Should get: Group 1 = type, Group 2 = NULL, Group 3 = 22, Group 4 = value62, Group 5 = value3
< /code>
Mein Regex ist: < /p>
/(type|tag):([^\\]+)?\\\\([0-9]{1,3})?\??([^\:]+):([^\:]+)?/i
< /code>
Ich glaube, dass es nicht genau ist, zum Beispiel: < /p>
type:\\1p?hello:iii
Der aktuelle Regex stimmt mit 1 als Gruppe 3 und P? Hello als Gruppe 4 überein. Es sollte jedoch überhaupt nicht mithalten. Gruppe 3 muss eine Nummer sein und? Danke!