正则问题~!
# 具体遇到的问题
老师,选择练习中的这道题,使用findall只能拿到最后一对数字['3589 '],请问如何使用findall拿到3.1415 9265 3589?还有,老师请问search方法中,group和groups的区别?谢谢~
def test(data): result = re.findall("^[3]\.(\d{1,4}\s){3}", data) print(result) if __name__ == '__main__': data = '3.1415 9265 3589 7932 3846' test(data)
15
收起
正在回答
1回答
同学,你好,
1、findall函数:如果有分组,仅仅匹配分组里面的内容,然后返回这个组的列表。因此会是同学看到的结果
2、同学可以使用search和group实现
3、search()函数会在整个字符串内查找模式匹配,只到找到第一个匹配然后返回一个包含匹配信息的对象,该对象可以通过调用group()方法得到匹配的字符串,如果字符串没有匹配,则返回None。
4、m.group(N) 返回第N组括号匹配的字符。m.group()和m.group(0) 是所有匹配的字符
m.groups() 返回所有括号匹配的字符,以tuple格式。
Python全栈工程师2020
- 参与学习 人
- 提交作业 5231 份
- 解答问题 2433 个
Facebook曾声称“只招全栈工程师”!全栈用人需求猛增,市面人才紧缺。 0基础进击Python全栈开发,诱人薪资在前方!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星