Regex Problem

wod2008

Erfahrenes Mitglied
Ich habe diesen RegEx

PHP:
\\b((?<!<)(?!test\(\'.*?)blub(?!.*?\'\))(?!<))\\b

Die b sind eigentlich b's mit einen Backslash

Der soll in einen Text wie

blub
blubber
blub test('asdasd blub asdas');
>blub<
blub

die rot makierten blub's finden

er findet aber nur den 1. und den 3. der 2. wird nicht gefunden da dort test(...); steht,
wie kann ich es machen das er alle 3 findet
 
Zuletzt bearbeitet:
Moin,

ich weiss jetzt nicht genau, was das Kriterium sein soll, welches diese blub von anderen unterscheidet, wenn es aber darauf hinausläuft, dass es am Zeilenanfang steht, würde ich es so machen:

Code:
/^blub\b/m

Die Flag m steht für multiline....dadurch findet das ^ nicht den Beginn des Strings, sondern den Beginn einer Zeile.
 
ok das war falsch formuliert
Es soll alle blubs finden die ein einzelnes wort sind (\b) und die nicht direkt an >< grenzen und alle die nicht zwischen test(' und '); stehen.

Das Pr
 
Zurück