Fangen Sie den Text mit einem Regex mit bestimmten Regeln anPhp

PHP-Programmierer chatten hier
Anonymous
 Fangen Sie den Text mit einem Regex mit bestimmten Regeln an

Post 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!

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post