服务器之家

服务器之家 > 正文

python中re.findall函数实例用法

时间:2021-12-27 00:42     来源/作者:小妮浅浅

1、findall函数返回字符串中所有匹配结果的正则表达式列表。

2、如果没有分组的正则是返回的正则匹配,分组返回的是分组匹配而非整个正则匹配。

实例

找到所有与pattern匹配的子串(不重叠),并将其放入列表。

?
1
2
3
4
import re
lst = re.findall("[1-9]\d*","qw21313h1o58p4kjh8123jkh8435u")
for x in lst:
    print(x,end=" ")

#输出结果:21313 1 58 4 8123 8435

实例扩展:

python3中函数说明:

?
1
2
3
4
5
6
7
8
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.

两种形式的使用方法:

?
1
2
3
4
5
6
7
8
9
import re
kk = re.compile(r'\d+')
kk.findall('one1two2three3four4')
#[1,2,3,4]
 
#注意此处findall()的用法,可传两个参数;
kk = re.compile(r'\d+')
re.findall(kk,"one123")
#[1,2,3]

其中,含()时要注意:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import re
 
string="abcdefg  acbdgef  abcdgfe  cadbgfe"
 
#带括号与不带括号的区别
#不带括号
regex=re.compile("((\w+)\s+\w+)")
print(regex.findall(string))
#输出:[('abcdefg  acbdgef', 'abcdefg'), ('abcdgfe  cadbgfe', 'abcdgfe')]
 
regex1=re.compile("(\w+)\s+\w+")
print(regex1.findall(string))
#输出:['abcdefg', 'abcdgfe']
 
regex2=re.compile("\w+\s+\w+")
print(regex2.findall(string))
#输出:['abcdefg  acbdgef', 'abcdgfe  cadbgfe']

到此这篇关于python中re.findall函数实例用法的文章就介绍到这了,更多相关python中re.findall函数的介绍内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://www.py.cn/jishu/jichu/33358.html

标签:

相关文章

热门资讯

yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整
蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整 2021-08-24
2021年耽改剧名单 2021要播出的59部耽改剧列表
2021年耽改剧名单 2021要播出的59部耽改剧列表 2021-03-05
返回顶部