python中re.findall函数实例⽤法
1、findall函数返回字符串中所有匹配结果的正则表达式列表。
2、如果没有分组的正则是返回的正则匹配,分组返回的是分组匹配⽽⾮整个正则匹配。
实例
到所有与pattern匹配的⼦串(不重叠),并将其放⼊列表。
import re
lst = re.findall("[1-9]\d*","qw21313h1o58p4kjh8123jkh8435u")
for x in lst:
print(x,end=" ")
#输出结果:21313 1 58 4 8123 8435
实例扩展:
python3中函数说明:
findall(pattern, string, flags=0)
Return a list of all non-overlapping matches in the string.
If one or more capturing groups are present in the pattern, return正则匹配两个字符之间的字符串
a list of groups; this will be a list of tuples if the pattern
has more than one group.
Empty matches are included in the result.
两种形式的使⽤⽅法:
import re
kk = repile(r'\d+')
kk.findall('one1two2three3four4')
#[1,2,3,4]
#注意此处findall()的⽤法,可传两个参数;
kk = repile(r'\d+')
re.findall(kk,"one123")
#[1,2,3]
其中,含()时要注意:
import re
string="abcdefg acbdgef abcdgfe cadbgfe"
#带括号与不带括号的区别
#不带括号
regex=repile("((\w+)\s+\w+)")
print(regex.findall(string))
#输出:[('abcdefg acbdgef', 'abcdefg'), ('abcdgfe cadbgfe', 'abcdgfe')]
regex1=repile("(\w+)\s+\w+")
print(regex1.findall(string))
#输出:['abcdefg', 'abcdgfe']
regex2=repile("\w+\s+\w+")
print(regex2.findall(string))
#输出:['abcdefg acbdgef', 'abcdgfe cadbgfe']
到此这篇关于python中re.findall函数实例⽤法的⽂章就介绍到这了,更多相关python中re.findall函数的介绍内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论