micropython/tests/extmod/re_namedclass.py

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

37 lines
772 B
Python
Raw Normal View History

# test named char classes
try:
import re
2017-02-14 22:56:22 +00:00
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"\w+", "1234hello567 abc")
print_groups(m)
m = re.match(r"(\w+)\s+(\w+)", "ABC \t1234hello567 abc")
print_groups(m)
m = re.match(r"(\S+)\s+(\D+)", "ABC \thello abc567 abc")
print_groups(m)
m = re.match(r"(([0-9]*)([a-z]*)\d*)", "1234hello567")
print_groups(m)
# named class within a class set
print_groups(re.match("([^\s]+)\s*([^\s]+)", "1 23"))
print_groups(re.match("([\s\d]+)([\W]+)", "1 2-+="))
print_groups(re.match("([\W]+)([^\W]+)([^\S]+)([^\D]+)", " a_1 23"))