Seite 1 von 1
regular expression
Verfasst: Mittwoch 21. Januar 2004, 10:34
von Gast
Hallo
Kann man bei Regular Expression Variablen mit einfließen lassen?
Bsp.
Var = 'Test'
String = "lasdgfasTestshdgflshf"
pattern = '(.*)(Var)(.*)'
patt_ex = re.compile(pattern)
result = patt_ex.match(string)
print result.group(2)
>>> 'Test'
Kann mir jemand sagen ob das vom Prinzip her funktioniert auch wenn das syntaktisch nicht alles korrekt ist?
Vielen Dank für die Hilfe
thomas
Re: regular expression
Verfasst: Mittwoch 21. Januar 2004, 11:05
von Voges
Hallo!
Anonymous hat geschrieben:Kann man bei Regular Expression Variablen mit einfließen lassen?
Ganz simpel:
pattern = '(.*)(' + Var + ')(.*)'
Du musst natürlich sicherstellen, das
Var nur etwas enthält, was aus Sicht des RegExps gültig ist.
Jan
Verfasst: Mittwoch 21. Januar 2004, 13:43
von Dookie
Hallo Thomas,
oder Elegant:
Code: Alles auswählen
Var = "Test"
pattern = (.*)(%s)(.*)' % (Var,)
patt_ex = re.compile(pattern)
result = patt_ex.match(string)
print result.group(2)
Gruß
Dookie
Verfasst: Mittwoch 21. Januar 2004, 13:56
von joerg
Ich würde sicherheitshalber folgendes nehmen:
Dann darf Var auch exotischere Zeichen enthalten.
(Außerdem fehlte bei Dookie eine Anführungszeichen.)
Grüße
Jörg
Verfasst: Mittwoch 21. Januar 2004, 14:07
von Voges
Hallo!
joerg hat geschrieben:Ich würde sicherheitshalber folgendes nehmen:
Wenn es für die konkrete Anwendung sinnvoll ist, denn so verbaut man sich die Chance, RegExp-Sonderzeichen benutzen zu können. Sowas wie
Var = "Te[sx]t" funktioniert dann nicht mehr.
Jan
Verfasst: Donnerstag 22. Januar 2004, 16:10
von thomas duske
THX für die vielen Tips.
Wenn man es weis ist es wirklich simpel
Greetz
thomas