VB.NET REGEX in Python - unexpected end of pattern

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
streetfox
User
Beiträge: 18
Registriert: Dienstag 27. Januar 2009, 12:23

tjoo... drum bin ich hier im forum gelandet um zu gucken ob da jemand mehr weiss als ich, was ich oft annehme, da ich mit RE zwar schon einige Zeit arbeite aber mich nicht als crack bezeichnen würd. dafür issn forum ja da.

übrigens... hab sie nun umgeschrieben

Code: Alles auswählen

;(?=(?:[^"]*"[^"]*")*(?![^"]*"))
führt zu

Code: Alles auswählen

>>> text = '''"Value1;";"Value2";"""Value3""";"of ""very"" ""difficult""";"";"expressions"
"and";"";"we should not ;""then""; forget";"that it
works ;"
as ""ss""
expected""
"And";"this ""is""";" a";"new start"
"And2";"this is a";"new start as well"
"only "this" line";" is malformat;ted "with" quotes"'''

>>> ptest = re.compile(';(?=(?:[^"]*"[^"]*")*(?![^"]*"))')

>>> re.split(ptest,text)
['"Value1;"', '"Value2"', '"""Value3"""', '"of ""very"" ""difficult"""', '""', '"expressions"\n"and"', '""', '"we should not ;""then""; forget"', '"that it\nworks ;"\nas ""ss""\nexpected""\n"And"', '"this ""is"""', '" a"', '"new start"\n"And2"', '"this is a"', '"new start as well"\n"only "this" line"', '" is malformat;ted "with" quotes"']
funzt jetzt auch in python... jetzt bin ich schon nah dran bis auf

Code: Alles auswählen

..."\n"And"'
statt
..." ' , ' "And"'
det muss doch zum knacken sein?
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

Machs nicht mit RegExp. Ich würd da entweder das cvs Modul anpassen, PyParsing nutzen oder nen Parser per Hand schreiben, ne FSM ist ja nicht so schwer und wohl etwas übersichtlicher.
Antworten