与Find and Replace RegEx question类似
我需要做的就是在两个短语之间找到一个字符串,“literal”和“edited [;”,并用相同的字符串替换,省略所有“//”。我不认为括号后向引用是我想要的,因为我正在使用的文本文件很大,每个字符串通常有3个,有时最多10个“//”。
此:
// --- Literal
//
//At the same time as that, joining in the music
//will be fun, I think.
// --- Edited
应该成为这个:
// --- Literal
At the same time as that, joining in the music
will be fun, I think.
// --- Edited
(Notepad ++不支持其正则表达式中的换行符,但这与问题无关。在实际文本中,我已经完成了对n的find-replace为“nline”。)
这是我到目前为止所做的:
Find: // --- Literalnline//(.*?)//(.*?)//(.*?)//(.*?)// --- Edited // \[;
Replace: // --- Literalnline\1\2\3\4// --- Edited // \[;
答案 0 :(得分:0)
一般来说,我不想用正则表达式来做这件事,但我还是试了一下:http://regex101.com/r/tF6bZ1
/\A(\/\/ --- Literal)[\r\n]+|(\/\/ --- Edited)\z|\/\/(.*[\r\n]*)/gi
这不做任何类型的任何验证或其他任何验证,只是直接上下匹配。您应该可以使用\1\3\2
等替换。