正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别只在于不同的编程语言实现支持的语法数量不同;但不用担心,不被支持的语法通常是不常用的部分。
在前面学习了比较多模式,有前向搜索的,也有后向搜索的,有肯定模式的,也有否定模式的。这次再来学习一个,就是后向搜索肯定模式,意思就是说已经扫描过了的字符串,还想后悔去看一下,是否可以匹配。
它的语法是:(?<=pattern
)。比如下面的例子,就是用来识别Twitter的账号,但它这种模式只会匹配,不会出现在匹配的字符串中,如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
#python 3.6 #蔡军生 #http://blog.csdn.net/caimouse/article/details/51749579 # import re twitter = re. compile ( ''' # A twitter handle: @username (?<=@) ([\w\d_]+) # username ''' , re.VERBOSE) text = '''This text includes two Twitter handles. One for @caimouse, and one for the author, @caijunsheng. ''' print (text) for match in twitter.findall(text): print ( 'Handle:' , match) |
结果输出如下:
1
2
3
4
|
This text includes two Twitter handles. One for @caimouse, and one for the author, @caijunsheng. Handle: caimouse Handle: caijunsheng |
总结
以上所述是小编给大家介绍的python中使用正则表达式的后向搜索肯定模式,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
原文链接:http://blog.csdn.net/caimouse/article/details/78492577