python里使用正则表达式的组嵌套实例详解
python里使用正则表达式的组嵌套实例详解
由于组本身是一个完整的正则表达式,所以可以将组嵌套在其他组中,以构建更复杂的表达式。下面的例子,就是进行组嵌套的例子:
#python3.6
#蔡军生
#http://blog.csdn.net/caimouse/article/details/51749579
#
importre
deftest_patterns(text,patterns):
"""Givensourcetextandalistofpatterns,lookfor
matchesforeachpatternwithinthetextandprint
themtostdout.
"""
#Lookforeachpatterninthetextandprinttheresults
forpattern,descinpatterns:
print('{!r}({})\n'.format(pattern,desc))
print('{!r}'.format(text))
formatchinre.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())
ifmatch.groupdict():
print('{}{}'.format(
''*(len(text)-s),
match.groupdict()),
)
print()
return
例子:
#python3.6 #蔡军生 #http://blog.csdn.net/caimouse/article/details/51749579 # fromre_test_patterns_groupsimporttest_patterns test_patterns( 'abbaabbba', [(r'a((a*)(b*))','afollowedby0-naand0-nb')], )
结果输出如下:
'a((a*)(b*))'(afollowedby0-naand0-nb)
'abbaabbba'
'abb'('bb','','bb')
'aabbb'('abbb','a','bbb')
'a'('','','')
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!