Negation in regular expressions
George Sakkis
george.sakkis at gmail.com
Thu Sep 7 20:12:02 EDT 2006
It's always striked me as odd that you can express negation of a single
character in regexps, but not any more complex expression. Is there a
general way around this shortcoming ? Here's an example to illustrate a
use case:
>>> import re
# split with '@' as delimiter
>>> [g.group() for g in re.finditer('[^@]+', 'This @ is a @ test ')]
['This ', ' is a ', ' test ']
Is it possible to use finditer to split the string if the delimiter was
more than one char long (say 'XYZ') ? [yes, I'm aware of re.split, but
that's not the point; this is just an example. Besides re.split returns
a list, not an iterator]
George
More information about the Python-list
mailing list