Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - [TRegExpr] "TRegExpr(comp): ParseReg Too Many () (pos 123)"


wazup - Do 01.05.08 16:17
Titel: [TRegExpr] "TRegExpr(comp): ParseReg Too Many () (pos 123)"
Hallo...

Ich will einen String mit TRegExpr zerlegen, und in Variablen Speichern.
Nur kommt beim Zerlegen entweder ein Fehler oder er zerlegt nur die helfte, hab schon alles ausprobiert aber komme einfach nicht weiter!

/^(\d+)\t([-1\d]+)\t(\d+)\t(\d+)\t(\d+)\t(\d+)\t(\d+)\t(\d+)\t(\d+)\t(\d+)\t(\d+)\t(\d+)\t(\d+)\t"(\d+\.\d+\.\d+\.\d+)"\t"([^\t\r\n\f]+)"\t"([^\r\n\f]*)"\s*$/

String (zwischen jedem Wert ist ein Tabulator)
1:
0  1  2  3  4  5  6  7  8  9  10  11  12  "0.0.0.0"  "NickName"  "UserName"                    
TRegExpr(comp): ParseReg Too Many () (pos 123)

Vielleicht könnt Ihr mir ja helfen.
Danke für jede Antwort!
Gruß wazup

[EDIT]
Ich Denk mal das der Fehler auf Deutsch: "Zu viele () Zeichen" bedeuted.
Aber wie soll ich es sonst machen ?


Narses - Do 01.05.08 21:42
Titel: Re: [TRegExpr] "TRegExpr(comp): ParseReg Too Many () (pos 123)"
Moin und :welcome: im Forum!

user profile iconwazup hat folgendes geschrieben:
Ich Denk mal das der Fehler auf Deutsch:
...dass du zu viele Teilausdrücke definiert hast (AFAIR max. 10). :idea:

user profile iconwazup hat folgendes geschrieben:
Ich will einen String mit TRegExpr zerlegen, und in Variablen Speichern.
[...]
Aber wie soll ich es sonst machen ?
Für so einen einfachen Zeilenaufbau ist Patternmatching ja wohl "leicht" überzogen :? Probier´s mal mit Suche in: Delphi-Forum, Delphi-Library EXPLODE ;)

cu
Narses


wazup - Do 01.05.08 22:17

Ok... Danke für den Tipp!


Bernhard Geyer - Do 01.05.08 22:32

Falls du auch ein paar € ausgeben kannst. Bei den Kompos von LMD (http://www.lmd.de/products/vcl/) gibts auch eine RegEx-Komponente.


dummzeuch - Di 06.05.08 15:54
Titel: Re: [TRegExpr] "TRegExpr(comp): ParseReg Too Many () (pos 123)"
user profile iconwazup hat folgendes geschrieben:


Fehler
1:
TRegExpr(comp): ParseReg Too Many () (pos 123)                    


Ich Denk mal das der Fehler auf Deutsch: "Zu viele () Zeichen" bedeuted.


Ja, das heisst es. TRegExpr hat eine Beschraenkung fuer die geklammerten Ausdruecke, ueber die ich auch schon gestolpert bin. Irgendwo im Sourcecode gab es dafuer eine Konstante, die man im Notfall einfach hochsetzen kann. Wenn Du sie nicht selbst findest, melde Dich nochmal, habe gerade den Source nicht zur Hand.

twm