Python正则表达式引用子组匹配有数量限制?

1.在最后一个引用子组(\2)的时候无法匹配,去掉即可以匹配到
2.模式:

(\d{1,3})\n(\d{2}):(\2):(\2),(\d{3}) --> (\2):(\2):(\2)

3.待匹配的字符串:

1
00:00:00,000 --> 00:00:10,000
Downloaded From www.AllSubs.org
Adjusted by Glyn

4.在RegEx上也尝试进行实时显示,就是正好加上最后一个引用子组的时候不能匹配,如图:
图片描述
图片描述

阅读 4.7k
2 个回答

因为 10 不是 00

你的第二捕获组里的内容是 00,当然就不匹配 10 了。引用捕获组的时候,要求此处和指定组是相同的文本,而不是它们符合相同的模式。比如 (.)\1 匹配两个连续的相同字符。

00:00:00,000 和 00:00:10:000 不应该就是用一个pattern吗?
下面的pattern我在你给的网站和Python脚本里面都跑过,可以匹配。

(\d{1,3})\n(\d{2}):(\d{2}):(\d{2}),(\d{3}) --> (\d{2}):(\d{2}):(\d{2}),(\d{3})
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题