python里使用正则表达式的组嵌套实例详解
由于组本身是一个完整的正则表达式,所以可以将组嵌套在其他组中,以构建更复杂的表达式。下面的例子,就是进行组嵌套的例子:
#python 3.6
#蔡军生
#http://blog.csdn.net/caimouse/article/details/51749579
#
import re
def test_patterns(text, patterns):
"""Given source text and a list of patterns, look for
matches for each pattern within the text and print
them to stdout.
"""
# Look for each pattern in the text and print the results
for pattern, desc in patterns:
print("{!r} ({}) ".format(pattern, desc))
print(" {!r}".format(text))
for match in re.finditer(pattern, text):
s = match.start()
e = match.end()
prefix = " " * (s)
print(
" {}{!r}{} ".format(prefix,
text[s:e],
" " * (len(text) - e)),
end=" ",
)
print(match.groups())
if match.groupdict():
print("{}{}".format(
" " * (len(text) - s),
match.groupdict()),
)
print()
return
例子:
#python 3.6
#蔡军生
#http://blog.csdn.net/caimouse/article/details/51749579
#
from re_test_patterns_groups import test_patterns
test_patterns(
"abbaabbba",
[(r"a((a*)(b*))", "a followed by 0-n a and 0-n b")],
)
结果输出如下:
"a((a*)(b*))" (a followed by 0-n a and 0-n b)
"abbaabbba"
"abb" ("bb", "", "bb")
"aabbb" ("abbb", "a", "bbb")
"a" ("", "", "")
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
本文标题: python里使用正则表达式的组嵌套实例详解
本文地址: http://www.cppcns.com/jiaoben/python/209085.html