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