我试图在Google翻译中翻译字幕,只需一个问题一切正常,它会从时间中删除逗号,
。好吧,很好。我将它粘贴在Notepad ++上并试图用regex替换。时间格式为:
00:00:44927 -->
应该是
00:00:44,927 -->
所以我在查找内容字段上尝试了这个正则表达式::(\d){2}(\d){3}( -->)
这是替换为字段::$1,$2 -->
搜索有效,但替换结果如下:00:00:47
。似乎$1
代表第一个匹配(\d){2}
的第一个数字4
,第二个匹配(\d){3}
是7
。
为什么?
答案 0 :(得分:1)
您需要将范围量词{n}
放在捕获组中。通过将它们放在捕获组之外,您可以告诉正则表达式引擎该组将重复第n次而不是令牌\d
。
Find: :(\d{2})(\d{3})( -->)
Replace: :$1,$2$3
如果您愿意,还可以使用外观断言来实现此目的。
Find: :\d\d\K(?=\d\d\d)
Replace: ,
答案 1 :(得分:1)