我正在使用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代码:
查找:
`(?-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])`替换:
'\1\t\3\2\r\3'我的问题是,它只搜索和替换每隔一行。如果我执行一个find/replace all,它看起来像这样:
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 它每隔一行跳过一次。我想搜索/替换数百个文件中的所有文件。我想知道是否有什么我可以改变的,以确保它得到每一行。
谢谢。
发布于 2015-03-03 15:50:31
我采用了您的正则表达式,并对其进行了稍微修改。
诀窍是与行开头的时间码不匹配。所以,使用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])在此之前

之后,

https://stackoverflow.com/questions/28397085
复制相似问题