sub替换如何加入组名
首先有几个疑问,如下图
定义组名:?<name>
引用\k<name>
在上一章节分组在匹配的时候 (?P<year>\d{4}) 这样
为什么之前匹配可以?<name>这么写分组这就得?P<year>, 加一个P非常不解
问题2,在sub替换位置,我想通过制定组名的方式
str = "hello word"
p = re.compile(r'(?P<one>\w+) (?P<two>\w+)')
rest2 = p.sub('\P<one> \P<two>',str)
这里'\P<one> \P<two>'就会报错, 请问这里的P是不是又该换成其他的字母 , 又该如何去写?
20
收起
正在回答
2回答
同学你好:
更正一下上一条回答,经过查阅相关资料发现sub()也是可以对命名分组进行替换的,需要使用\g<组名>来替换。例如下图。
P是在Python中的re模块里使用的,只针对Python,只要在Python中使用re为分组命名就要使用 ?\P<name> 这种形式。其他语言参考下图。
而在线正则匹配使用\k来反向引用。
如果解决了你的疑惑,请采纳,祝学习愉快~
1.Python零基础入门
- 参与学习 人
- 提交作业 2727 份
- 解答问题 8160 个
想要进入Python Web、爬虫、人工智能等高薪领域,你需要掌握本阶段的Python基础知识,课程安排带你高效学习轻松入门,学完你也能听得懂Python工程师的行业梗。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星