[ILUG] regexp to match anything except a line that starts with
something specific
Paul Dunne
paul at dunne.ie.eu.org
Mon Oct 11 10:38:19 IST 2004
Caolan asked,
I'm trying to make a regexp which will match any
line except a line that starts with "slot:" I've got
^([^s]|s[^l]|sl[^o]|slo[^t]|slot[^:]).* which matches any line that
doesn't have "slot:" in it, but lines that don't start with "slot:"
but nevertheless contain it are still matched by the regexp. Any
ideas ? It's got to be a regexp for other constraints.
Well, most if not all programs that interpret regexps have a means of
specifying what you want. For example, in vi (well, ex strictly speaking):
v/^slot:/
matches anything *except* "beginning of line followed by slot:", which is
what you want. Doing it purely in regexp is a pain in the arse, but you
shouldn't have to, because perl, sed, and every program I'm aware of that
uses regexps has this feature.
--
Paul Dunne | paul at dunne.ie.eu.org | http://dunne.yi.org/
More information about the ILUG
mailing list