Robert: Regex: ersetze ;) falls davor nicht abc steht

Beitrag lesen

Hallöle,

ich will die Zeichenfolge ;) durch ### ersetzen - aber nur für den Fall, daß vor dem ;) nicht abc steht:

Aus
abc;) ;) def;)
soll also
abc;) ### def###
werden.

Ok, normales Ersetzen von ;) ist ja kein Problem:
Finde ;) Ersetze durch ###
Damit wird natürlich auch aus abc;) dann abc###

Also hab ich probiert, eine "negative lookahead assertion einzusetzen:

Finde (?!abc);) Ersetze durch ###

Ergebnis:
abc### ### def###

Hm. Was mache ich falsch?
In der Hilfe des Tools (WildEdit) heißt es:
"(?!abc)" matches zero characters only if they are not followed by the expression "abc".

Also dürfte die erste Ersetzung doch gar nicht stattfinden.

Einen Bug in WildEdit schließe ich aus, da PHP mit preg_replace dasselbe Ergebnis bringt.

cu,
Robert