Problem beim ersetzen mittels RegEx

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.
Antworten
SlowDown
User
Beiträge: 1
Registriert: Sonntag 28. Mai 2006, 15:17

Sonntag 28. Mai 2006, 15:31

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?
BlackJack

Sonntag 28. Mai 2006, 22:42

`re.escape()` wäre irgendwie naheliegend, gell!?

Code: Alles auswählen

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