Regular Expressions und Gruppierungen
Verfasst: 25.01.2011 23:11
Hallo zusammen!
Ich habe einen String, aus dem ich einige Teile extrahieren möchte. Konkret geht es hier um eine kleine DSL, die Menüs/Menüeinträge/Optionsfelder beschreibt. Da ich nicht mit Positionsangaben arbeiten kann (da einige Zeilen länger sind als andere), muss ich auf die integrierte PREG (RegularExpression)-Funktionen zurückgreifen.
Ich habe beispielsweise folgendes Pattern:
Wende ich diesen Ausdruck auf Bspw. "MAIN_MENU {This is the main menu}" an, will ich auf die einzelnen Elemente zugreifen (die Klammern):
* MAIN_MENU
* This is he main menu
Ich habe folgendes versucht:
Hier erhalte ich allerdings nur einen String, und das ist der komplette. ExtractRegularExpression() scheint wohl etwas anders zu arbeiten, wie es in anderen Sprachen der Fall ist. Deshalb meine Frage: Wie stelle ich es an, um an die einzelnen Elemente zuzugreifen?
Ich habe einen String, aus dem ich einige Teile extrahieren möchte. Konkret geht es hier um eine kleine DSL, die Menüs/Menüeinträge/Optionsfelder beschreibt. Da ich nicht mit Positionsangaben arbeiten kann (da einige Zeilen länger sind als andere), muss ich auf die integrierte PREG (RegularExpression)-Funktionen zurückgreifen.
Ich habe beispielsweise folgendes Pattern:
Code: Alles auswählen
CreateRegularExpression(0, "^([A-Z_-]+) {(.*)}")
* MAIN_MENU
* This is he main menu
Ich habe folgendes versucht:
Code: Alles auswählen
Define Matches$(0)
Define NumberOfMatches = ExtractRegularExpression(0, Line, Matches$())
For i=0 To NumberOfMatches-1
Debug Matches$(i)
Next