Seite 1 von 1

Problem beim ersetzen mittels RegEx

Verfasst: Sonntag 28. Mai 2006, 15:31
von SlowDown
Hallo,
ich habe folgendes Problemchen: ich möchte in einer Schleife Smiliecodes durch ein html Element ersetzen. So etwa:

Code: Alles auswählen

message = re.sub('(<.*?>|\s|^)(' + code + ')(<.*?>|\s|$)', '<img src="' + link + '" alt="' + code + '" title="' + code + '" />', message)
Nun habe ich aber das Problem, dass in den Smiliecodes jedes beliebige Zeichen vorkommen kann, so z.B. auch Klammern. Wenn nun so ein Code mit Klammern z.B. erstzt werden soll, funktioniert das mit dem RegEx Pattern ja nicht mehr. Gibt es da vielleicht schon eine Funktion, mit der ich "code" für das Pattern escapen kann?

Verfasst: Sonntag 28. Mai 2006, 22:42
von BlackJack
`re.escape()` wäre irgendwie naheliegend, gell!?

Code: Alles auswählen

In [6]:re.escape(':-)')
Out[6]:'\\:\\-\\)'