欢迎来到代码驿站!

Python代码

当前位置:首页 > 软件编程 > Python代码

python中re.findall函数实例用法

时间:2022-12-02 11:42:58|栏目:Python代码|点击:

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 = re.compile(r'\d+')
kk.findall('one1two2three3four4')
#[1,2,3,4]
 
#注意此处findall()的用法,可传两个参数;
kk = re.compile(r'\d+')
re.findall(kk,"one123")
#[1,2,3]

其中,含()时要注意:

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画小女孩放风筝的示例

栏    目:Python代码

下一篇:Python如何实现Excel的最合适列宽(openpyxl)

本文标题:python中re.findall函数实例用法

本文地址:http://www.codeinn.net/misctech/220378.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有