我正在使用BBEdit中的制表符分隔文件。该文件如下所示:
00:15:50;11 text1 text2
00:35:17;03 text4 text5
00:35:20;03 text6
00:35:20;22 text7
基本上,它有: 时间码选项卡文本选项卡文本等
我想取第二行时间码并在第一行后添加。我希望它看起来像这样:
00:15:50;11 00:35:17;03 text1 text2
00:35:17;03 00:35:20;03 text4 text5
00:35:20;03 00:35:20;22 text6
00:35:20;22 text7
我尝试过使用这段GREP代码:
FIND:
`(?-m)([0-9][0-9][; :][0-9][0-9][; :][0-9][0-9][; :][0-9][0-9])(.*)\r([0-9][0-9][; :][0-9][0-9][; :][0-9][0-9][; :][0-9][0-9])`
REPLACE:
'\1\t\3\2\r\3'
我的问题是它只搜索并替换其他每一行。如果我查找/替换所有内容,它看起来像这样:
00:15:50;11 00:35:17;03 text1 text2
00:35:17;03 text4 text5
00:35:20;03 00:35:20;22 text6
00:35:20;22 text7
它正在跳过其他所有行。我想在几百个文件中搜索/替换所有内容。我想知道是否有一些东西我可以改变以确保它得到每一行。
谢谢。
答案 0 :(得分:1)
我拿了你的正则表达式并稍加修改。
诀窍是不匹配行开头的时间码。因此,请使用Positive Lookbehind。
(?<=([0-9][0-9][; :][0-9][0-9][; :][0-9][0-9][; :][0-9][0-9])) /*lookbehind to see if timecode exists, but dont match.
But, the use of parenthesis makes it the first capture group.*/
(.*)
\r
([0-9][0-9][; :][0-9][0-9][; :][0-9][0-9][; :][0-9][0-9])
前,
后,