in reply to Re: Boolean operators in PERL regexp? in thread Boolean operators in PERL regexp?
Friedo, Enlinl, Ikegami, thank you for your responses.
Yes, my problem might be easily solved with an HTML parser, but beyond my
question in my opinion a logical NOT would be essential for regexps. Lookahead
and lookbehind assertions are very good, the only fatal problem with them, that
they are non-capturing, i.e. I cannot extract non-matching. Maybe there is a
reason for this, I don't know.
Robert
Re^3: Boolean operators in PERL regexp?
by ikegami (Patriarch) on Feb 25, 2005 at 16:30 UTC
|
NOT /XYZ/
vvvvvvvvvvvvv
>perl -e "$_ = 'ABCDEFGHIJKL'; print(/ABC((?:(?!XYZ).)*)JKL/);"
DEFGHI
| [reply] [d/l] |
|
Ikegami, you're right. As it seems I needed some more help to use your code. Now it works, the final version is:
/(<a href=("|))((?:(?!("|\/|#|javascript)).)*)(\s|"|>)/gi
And $3 is the value of the href property.
Thank you.
| [reply] [d/l] |
|