On Aug 7, 4:48 pm, Peng Yu <pengyu...@gmail.com> wrote:
> The problem is that I don't know how to capture pattern that repeat
> itself (like 'a' and 'xy' in the example). I could use 'test\((\w+)
> (\w+)\)(\w) (\w)', but it will capture something like 'test(a b)x y',
> which I don't want to.
>
> I'm wondering if there is way to capture recurring patterns.

Back references can deal with repetition.

Python 2.6.5 (r265:79063, Apr 16 2010, 13:09:56)
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import re
>>> re.match(r'test\((\w+) (\w+)\)\1 \2', 'test(xy uv)xy uv').groups()
('xy', 'uv')
>>> re.match(r'test\((\w+) (\w+)\)\1 \2', 'test(a b)x y')
>>>
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to