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
regular expression
Hallo!
pattern = '(.*)(' + Var + ')(.*)'
Du musst natürlich sicherstellen, das Var nur etwas enthält, was aus Sicht des RegExps gültig ist.
Jan
Ganz simpel:Anonymous hat geschrieben:Kann man bei Regular Expression Variablen mit einfließen lassen?
pattern = '(.*)(' + Var + ')(.*)'
Du musst natürlich sicherstellen, das Var nur etwas enthält, was aus Sicht des RegExps gültig ist.
Jan
-
- Python-Forum Veteran
- Beiträge: 2010
- Registriert: Freitag 11. Oktober 2002, 18:00
- Wohnort: Salzburg
- Kontaktdaten:
Hallo Thomas,
oder Elegant:
Gruß
Dookie
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
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
Code: Alles auswählen
pattern = '(.*)(%s)(.*)' % re.escape(Var)
(Außerdem fehlte bei Dookie eine Anführungszeichen.)
Grüße
Jörg
"Sie sind nicht berechtigt, unrechtmäßige Kopien dieses Datenträgers zu erstellen." - Microsoft-Weisheit auf einer CD von MS-VisualC++-6.0
Hallo!
Jan
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.joerg hat geschrieben:Ich würde sicherheitshalber folgendes nehmen:
Jan
-
- User
- Beiträge: 1
- Registriert: Mittwoch 21. Januar 2004, 10:28
- Wohnort: Gotha
- Kontaktdaten:
THX für die vielen Tips.
Wenn man es weis ist es wirklich simpel
Greetz
thomas
Wenn man es weis ist es wirklich simpel
Greetz
thomas