I don't know enough to write an R.E. engine so forgive me if I am
being naive.
I have had to atch text involving lists in the past. These are usually
comma separated words such as
 "egg,beans,ham,spam,spam"
you can match that with:
 r"(\w+)(,\w+)*"
and when you look at the groups you get the following

>>> import re
>>> re.match(r"(\w+)(,\w+)*", "egg,beans,ham,spam,spam").groups()
('egg', ',spam')
>>>

Notice how you only get the last match as the second groups value.

It would be nice if a repeat operator acting on a group turned that
group into a sequence returning every match, in order. (or an empty
sequence for no matches).

The above exaple would become:

 >>> import re
>>> re.newmatch(r"(\w+)(,\w+)*", "egg,beans,ham,spam,spam").groups()
('egg', ('beans', 'ham', 'spam', ',spam'))
>>>

1, Is it possible? do any other RE engines do this?
2, Should it be added to Python?

- Paddy.

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to