diff options
author | Damien George <damien.p.george@gmail.com> | 2018-05-24 13:07:42 +1000 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2018-07-02 14:53:30 +1000 |
commit | 1f864609106cc293da3748ee8f93e40c4a28a495 (patch) | |
tree | 9d1be7220d1f59f52312b7fa835b409d9693cc4d /tests/extmod/ure_groups.py | |
parent | ab02abe96dc2ccdb2556c894dc04de11674e3476 (diff) |
extmod/modure: Add match.groups() method, and tests.
This feature is controlled at compile time by MICROPY_PY_URE_MATCH_GROUPS,
disabled by default.
Thanks to @dmazzella for the original patch for this feature; see #3770.
Diffstat (limited to 'tests/extmod/ure_groups.py')
-rw-r--r-- | tests/extmod/ure_groups.py | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/extmod/ure_groups.py b/tests/extmod/ure_groups.py new file mode 100644 index 000000000..4fac896d7 --- /dev/null +++ b/tests/extmod/ure_groups.py @@ -0,0 +1,33 @@ +# test match.groups() + +try: + import ure as re +except ImportError: + try: + import re + except ImportError: + print("SKIP") + raise SystemExit + +try: + m = re.match(".", "a") + m.groups +except AttributeError: + print('SKIP') + raise SystemExit + + +m = re.match(r'(([0-9]*)([a-z]*)[0-9]*)','1234hello567') +print(m.groups()) + +m = re.match(r'([0-9]*)(([a-z]*)([0-9]*))','1234hello567') +print(m.groups()) + +# optional group that matches +print(re.match(r'(a)?b(c)', 'abc').groups()) + +# optional group that doesn't match +print(re.match(r'(a)?b(c)', 'bc').groups()) + +# only a single match +print(re.match(r'abc', 'abc').groups()) |