美文网首页Py100Skills
[Py003]正则(?<=) (?=)

[Py003]正则(?<=) (?=)

作者: 安哥生个信 | 来源:发表于2018-09-25 23:53 被阅读35次

同样的正则,有时候在re.findall()和re.search()返回值不相同
使用(?<=) (?=)限定一下便没有问题了

string = 'a132dffgb2345'
pattern1 = re.compile('[0-9]([a-z].+?)[0-9]')
re.findall(pattern1, string)
Out[21]: 
['dffgb']
re.search(pattern1, string).group()
Out[22]: 
'2dffgb2'
pattern2 = re.compile('(?<=[0-9])([a-z].+?)(?=[0-9])')
re.findall(pattern2, string)
Out[24]: 
['dffgb']
re.search(pattern2, string).group()
Out[25]: 
'dffgb'

相关文章

网友评论

    本文标题:[Py003]正则(?<=) (?=)

    本文链接:https://www.haomeiwen.com/subject/hsmroftx.html