| 1234567891011121314151617181920212223242526272829303132 |
- # test groups, and nested groups
- try:
- import ure as re
- except ImportError:
- try:
- import re
- except ImportError:
- print("SKIP")
- raise SystemExit
- def print_groups(match):
- print('----')
- try:
- i = 0
- while True:
- print(match.group(i))
- i += 1
- except IndexError:
- pass
- m = re.match(r'(([0-9]*)([a-z]*)[0-9]*)','1234hello567')
- print_groups(m)
- m = re.match(r'([0-9]*)(([a-z]*)([0-9]*))','1234hello567')
- print_groups(m)
- # optional group that matches
- print_groups(re.match(r'(a)?b(c)', 'abc'))
- # optional group that doesn't match
- print_groups(re.match(r'(a)?b(c)', 'bc'))
|