Thread Negierte Teilausdrücke eines regulären Ausdrucks (4 answers)
Opened by Tim at 2012-01-28 13:04

FIFO
 2012-01-28 17:02
#155751 #155751
User since
2005-06-01
469 Artikel
BenutzerIn

user image
Guest Tim
(in wie fern könnte man da einen negativen look around nehmen?)


Das Problem an den Lookarounds ist hier die Unmöglichkeit, einen negativen Lookbehind mit variabler Länge auszuführen. Nimm z.B. den string "Um 11 Uhr ist Ebbe, um 22 Uhr Flut".
Das Muster /(aa|bb|cc)(?!.*(11|22|33))/ würde die 22 nach dem bb erkennen und deswegen keinen Match ergeben.

Rückwärts funktioniert sowas allerdings nicht,
/(?<!(11|22|33).*)(aa|bb|cc)(?!.*11|22|33)/ ist nicht zulässig ("Variable length lookbehind not implemented in regex;").

Eine sehr gute Erklärung zu Lookarounds findet sich hier (englisch)

Gruß FIFO

Editiert von FIFO: Formatierung
Last edited: 2012-01-28 17:10:00 +0100 (CET)
Everyone knows that debugging is twice as hard as writing a program in the first place. So if you're as clever as you can be when you write it, how will you ever debug it? -- Brian Kernighan: "The Elements of Programming Style"

View full thread Negierte Teilausdrücke eines regulären Ausdrucks