请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

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

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

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

正在回答 回答被采纳积分+3

3回答

kryo 2019-02-22 11:19:38

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 回复 有任何疑惑可以回复我~
  • Whalien #1
    这个不算坑吧...只是搭配不对.配合着search(),match()这些返回正则对象的函数使用才能让组发挥它的作用.
    回复 有任何疑惑可以回复我~ 2019-08-10 11:10:58
Whalien 2019-08-10 11:17:37

https://img1.sycdn.imooc.com//szimg/5d4e36de0998174610870141.jpg

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

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

https://img1.sycdn.imooc.com//szimg/5d4e37210933788c14360841.jpg

1 回复 有任何疑惑可以回复我~
  • Whalien #1
    可能在第10行前插入两行print(r),print(r.group(0))会更容易理解一些
    回复 有任何疑惑可以回复我~ 2019-08-10 11:22:26
7七月 2018-08-16 09:11:08

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

0 回复 有任何疑惑可以回复我~
  • 提问者 kai #1
    你看看人家楼上怎么回答的
    回复 有任何疑惑可以回复我~ 2019-04-01 15:33:43
  • 7七月 回复 提问者 kai #2
    很抱歉。因为课程的是时长挺长的,你在提问的时候是刚看了这个小节,所以直接就抛出了问题,而没有给出完整的场景。这样我看的时候就不是很容易看明白到底疑问是什么。比如你提的这个问题: 我看re.findall(),有组时返回结果,怎么还不是字符串了,什么时候是字符串呢,什么时候不是字符串呢,能不能把这部分讲明白一点呢。我确实看了好几遍没看明白疑问是什么。可否麻烦提问的时候 稍微还原下当时问题的场景,最好把代码贴出来。  如果给你带来了什么不方便的地方,我再次道歉。
    回复 有任何疑惑可以回复我~ 2019-04-02 11:15:07
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信