Kiopler 发表于 2017-1-30 06:44:08

谢谢小甲鱼老师

Kiopler 发表于 2017-1-30 09:34:34

Python1000 发表于 2016-10-20 17:57
“有几个小括号就有几个子组”那段,‘(a)(b)’应该有三个小组:(ab)、(a)、(b);'a(b)'应该有两个小 ...

你说的感觉是对的,那个序号为0的分组应该是默认分组吧,就指代的整个正则表达式,这个默认分组应该不需要进行括号来特别指出...所以说是默认的,然后里面要有其他的分组就按照从左往右进行索引...

猜的{:10_266:}

Engou 发表于 2017-4-19 19:12:11

666666

wxkang15 发表于 2017-7-14 18:00:49

为什么到正则表达式这里就没有课后作业了啊。。。。。视频里面还说要做好作业,在哪呢?

1114288530 发表于 2017-9-2 11:13:40

零宽断言还是不太懂怎么办。。

wyh2006 发表于 2017-9-23 22:05:17

多谢楼主分享!

机械之心max 发表于 2018-5-16 18:04:28

shiwobuhaoma 发表于 2016-11-29 15:22
不加\1应该是只匹配到字母+空格的形式就可以,所以用search返回了第一个字符串
用\1之后的形式应该相当 ...

老哥nb啊

小甲鱼学习 发表于 2018-10-24 15:20:09

看不懂了。。。

Heather_zero 发表于 2019-1-10 17:38:16

drplant 发表于 2016-4-15 10:12
为什么加了‘\1’就返回‘the the’呢
不加\1的情况:p.search('   ').group() 返回的是第一单词“paris ...

p.findall()正则表达式比较特殊,"..."双引号里面包含的是搜索的规则,() 括号是返回内容,没有括号会按返回内容来返回,所以是没有空格的,因为空格在括号的外面,你可以尝试一下,虽然这条回复很晚了可能不会看到,其实我是写给自己的{:10_256:}

Heather_zero 发表于 2019-1-10 17:42:10

Python1000 发表于 2016-10-20 17:57
“有几个小括号就有几个子组”那段,‘(a)(b)’应该有三个小组:(ab)、(a)、(b);'a(b)'应该有两个小 ...

只有两个子组,就是group(1) 和 group(2)的内容,group()即group(0)是完整匹配,不是子组,可以使用groups()查看子组来验证,只会出现上述两个子组内容

Heather_zero 发表于 2019-1-10 17:45:18

drplant 发表于 2016-4-15 10:12
为什么加了‘\1’就返回‘the the’呢
不加\1的情况:p.search('   ').group() 返回的是第一单词“paris ...

另外,分组和\1起到的一部分作用就是简化正则表达式,你把\1完全用第1组替代就是完整的正则式的写法了,所以是匹配了两个完全一样的单词

wangwei_454 发表于 2019-5-22 19:09:06

还是说你是不明白group(1)为啥是c
我是java的,匹配出来也是c,看了看group的介绍,我的理解是
括号里面是[abc]其中的一个,匹配到a的时候,满足记录a,执行+,发现b满足记录,执行+,发现c满足记录,下一个不满足,这时候括号里面的记录的就是c
因为默认是贪婪匹配,你可以改成()+?,懒惰匹配,就会把a,b,c都输出

fqshct1994 发表于 2020-1-31 15:54:11

本帖最后由 fqshct1994 于 2020-1-31 15:57 编辑

6

马当 发表于 2020-2-19 13:24:04

一路正经地学下来,就看到一句:我们特么的还可以。 瞬间暴躁起来

ArmandXiao 发表于 2020-2-24 20:42:05

kissbar 发表于 2015-6-14 23:40
说实在的,还是不懂

建议把前名三篇也看了,自己做做笔记,结合着小甲鱼的视频看看。个人认为会好很多。

hy47 发表于 2020-10-24 17:49:57

drplant 发表于 2016-4-15 10:12
为什么加了‘\1’就返回‘the the’呢
不加\1的情况:p.search('   ').group() 返回的是第一单词“paris ...

同问

hy47 发表于 2020-10-24 21:17:14

shiwobuhaoma 发表于 2016-11-29 15:22
不加\1应该是只匹配到字母+空格的形式就可以,所以用search返回了第一个字符串
用\1之后的形式应该相当 ...

{:5_110:}我懂了

15909574023 发表于 2020-11-17 13:34:41

多谢分享~

15909574023 发表于 2020-11-17 13:36:42

多谢分享~

SKY126 发表于 2021-5-10 08:24:07

继续努力吧
页: 1 [2] 3
查看完整版本: Python3 如何优雅地使用正则表达式(详解四)