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'('','','')
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!