in reply to Look-Arounds in Regexes are Hard
I view
/(?:(?!$re).)*/s
as the equivalent of
/[^$chars]*/
except it can prevent the match of entire regexps instead of a choice of characters. I call it the common use of a negative lookahead. If you're using a negative lookahead, that construct will probably satisfy your needs.
Keep in mind that both expressions can successfully match 0 characters if not properly anchored.
I think it would be nice if /(?^$re)/ could be added as a shortcut to /(?:(?!$re)(?s:.)*/. It would be more readable, and it would help prevent the common misuse of negative lookahead (/(?!$re.*)/).
Update: Formatting.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: Look-Arounds in Regexes are Hard (Common Use of a Negative Lookahead)
by moritz (Cardinal) on Jul 24, 2009 at 09:06 UTC | |
by ikegami (Patriarch) on Jul 24, 2009 at 16:56 UTC |