鱼C论坛

 找回密码
 立即注册
查看: 2267|回复: 9

[已解决]求助:关于正则表达式反向引用

[复制链接]
发表于 2017-9-11 17:10:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
>>> p = re.compile(r'(\b\w+)\s+\1')
>>> p.search('Paris in the the spring').group()
'the the'

为什么结果是the the,而不是Paris?正则表达式的反向引用\1不是应该指向Paris吗?为什么指向the the?
求详细说明,本人小白一枚,感谢感谢!
最佳答案
2017-9-11 21:51:32
callzi 发表于 2017-9-11 21:36
对啊,\1就是找到第一个分组的内容,第一个分组的内容不应该是paris吗?为啥是两个the

\1 的意思是,从'Paris in the the spring'中找到第1个匹配的,并且重复一次
如果是Paris 那么就应该在加1个Paris,结果应该是Paris Paris,这明显不能达到要求。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-9-11 17:58:04 | 显示全部楼层
求解答
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-11 18:27:58 | 显示全部楼层
\1 的意思是,从'Paris in the the spring'中找到第1个匹配的,并且重复一次
如果是Paris 那么就应该在加1个Paris,结果应该是Paris Paris,这明显不能达到要求。

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-11 19:14:24 | 显示全部楼层

要相信re返回的结果
如果与你的预想有差别,说明你没学好,回去再看看正则的基础知识
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-9-11 21:20:03 | 显示全部楼层
ba21 发表于 2017-9-11 18:27
\1 的意思是,从'Paris in the the spring'中找到第1个匹配的,并且重复一次
如果是Paris 那么就应该在加1 ...

\1为什么是重复?\1应该是找到第一个分组的意思吧?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-11 21:34:09 | 显示全部楼层
callzi 发表于 2017-9-11 21:20
\1为什么是重复?\1应该是找到第一个分组的意思吧?

你去问写Python 的人咯。
\1应该是找到第一个分组的意思吧? 又是你一箱情缘了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-9-11 21:36:07 | 显示全部楼层
ba21 发表于 2017-9-11 21:34
你去问写Python 的人咯。
\1应该是找到第一个分组的意思吧? 又是你一箱情缘了

对啊,\1就是找到第一个分组的内容,第一个分组的内容不应该是paris吗?为啥是两个the
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-11 21:51:32 | 显示全部楼层    本楼为最佳答案   
callzi 发表于 2017-9-11 21:36
对啊,\1就是找到第一个分组的内容,第一个分组的内容不应该是paris吗?为啥是两个the

\1 的意思是,从'Paris in the the spring'中找到第1个匹配的,并且重复一次
如果是Paris 那么就应该在加1个Paris,结果应该是Paris Paris,这明显不能达到要求。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-9-11 22:05:21 | 显示全部楼层
ba21 发表于 2017-9-11 21:51
\1 的意思是,从'Paris in the the spring'中找到第1个匹配的,并且重复一次
如果是Paris 那么就应该在 ...

思考一下了你说的,有点弄明白了,感谢啊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-11 22:11:12 | 显示全部楼层
callzi 发表于 2017-9-11 22:05
思考一下了你说的,有点弄明白了,感谢啊

你就理解为 paris是条件1, 后面的\1,重复一次是条件2
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-3-2 07:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表