正则

正则

5-4这里面的式子没太看懂,你能仔细讲一下吗?r'是用来干什么的?sub是干什么的?compile不是已经定义规则了吗,为什么还要加sub?group和compile到底怎么用?

这几个:

https://img1.sycdn.imooc.com//climg/6438f26909bfc30c15130609.jpghttps://img1.sycdn.imooc.com//climg/6438f29c0934869512750712.jpghttps://img1.sycdn.imooc.com//climg/6438f29d09b1983812951235.jpghttps://img1.sycdn.imooc.com//climg/6438f29e096392de15750621.jpg

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学,你好!1、r'是防止字符转义的 。可以让\t、\n 字符原样输出

http://img1.sycdn.imooc.com//climg/5e69f2a60937d66f03410235.jpg

2、compile是写要匹配的正则条件,正则匹配出内容后,也可以继续对匹配出的内容进行处理的,如字符串替换。sub就是用于替换字符串中的匹配项。\1:\1表示重复正则第一个圆括号内匹配到的内容,如:([a-zA-Z])\1+,匹配多次符合([a-zA-Z])中的内容ddd,uuu,FF,练习题中是将d、u、F重复的字符替换成*

https://img1.sycdn.imooc.com//climg/6438f83b098c787306620614.jpg

3、group用来提出分组截获的字符串,()用来分组。group() 是匹配正则表达式整体结果
group(1) 列出第一个括号匹配部分

https://img1.sycdn.imooc.com//climg/6438fa9309f6088608070448.jpg

4、compile 中是写正则条件的的,而group是对匹配正则条件成功后结果的输出,或匹配成功后满足正则括号里的内容的输出,例如:group()、group(1)。


祝学习愉快~

  • 慕设计4457883 提问者 #1

    https://img1.sycdn.imooc.com//climg/643903540928c57615200601.jpg

    这里为什么用search?不能用findall吗

    为什么要ret.group,不能直接print ret吗

    2023-04-14 15:40:40
  • 慕设计4457883 提问者 #2

    https://img1.sycdn.imooc.com//climg/643903d90905035212100611.jpg

    1,是只有search可以搭配group使用吗?是不是findall就都不搭配group使用?

    2,上图中,re.I是什么意思?

    2023-04-14 15:43:06
  • 好帮手慕小猿 回复 提问者 慕设计4457883 #3

    同学,你好!1、search是设置正则条件的,findall()是查询出满足正则条件的字符串即取结果的,不能替换。

    2、res.group()是取满足正则条件的字符串,只输出ret 是个对象,无法取出匹配正则的字符串

    https://img1.sycdn.imooc.com//climg/64390bd7097a4f9508360356.jpg

    3、search、match搭配group 使用,findall不与group使用。findall与group都是取满足正则条件的结果

    4、re.I 表示忽略大小写

    祝学习愉快~

    2023-04-14 16:35:08
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师