老师你这个组。能不能讲清楚一点啊

来源:10-9 组

kai

2018-08-15

老师你这个组。能不能讲清楚一点啊,我看re.findall(),有组时返回结果,怎么还不是字符串了,什么时候是字符串呢,什么时候不是字符串呢,能不能把这部分讲明白一点呢?

我只想得到结果   ['pythonpythonpython']   该怎么写呢

写回答

3回答

kryo

2019-02-22

findall函数有一个坑,正则表达式中有一个括号时,其输出的内容就是括号匹配到的内容,而不是整个表达式所匹配到的结果,请见https://blog.csdn.net/zd147896325/article/details/79010621

如果想要实现打印PythonPythonPython,需要用到另外一个函数search:

import re

c = 'PythonPythonPythonPythonPython'

r4 = re.search('(Python){3}',c)

print(r4.group(0))


2
1
Whalien
这个不算坑吧...只是搭配不对.配合着search(),match()这些返回正则对象的函数使用才能让组发挥它的作用.
2019-08-10
共1条回复

Whalien

2019-08-10

//img.mukewang.com/szimg/5d4e36de0998174610870141.jpg

这是Python文档里写的re中的组,可以看到组的主要作用是捕获,而不是教程示例的那样聚合一堆Python

不懂的同学可以仔细研究一下下面这段代码

//img.mukewang.com/szimg/5d4e37210933788c14360841.jpg

1
1
Whalien
可能在第10行前插入两行print(r),print(r.group(0))会更容易理解一些
2019-08-10
共1条回复

7七月

2018-08-16

我觉得问问题不能太宽泛了,不然没法回答。所以 只说不清楚 解决不了问题。提问的方式:你的代码贴出来,你运行的结果贴出来,你的疑问是什么写出来。问和答都是一样,你也要考虑到 回答者到底能否真的理解你的疑问?

0
2
7七月
回复
kai
很抱歉。因为课程的是时长挺长的,你在提问的时候是刚看了这个小节,所以直接就抛出了问题,而没有给出完整的场景。这样我看的时候就不是很容易看明白到底疑问是什么。比如你提的这个问题: 我看re.findall(),有组时返回结果,怎么还不是字符串了,什么时候是字符串呢,什么时候不是字符串呢,能不能把这部分讲明白一点呢。我确实看了好几遍没看明白疑问是什么。可否麻烦提问的时候 稍微还原下当时问题的场景,最好把代码贴出来。 如果给你带来了什么不方便的地方,我再次道歉。
2019-04-02
共2条回复

Python3.8系统入门+进阶 (程序员必备第二语言)

语法精讲/配套练习+思考题/原生爬虫实战

14286 学习 · 4428 问题

查看课程