查找/替换,排除字符

时间:2012-08-26 06:28:28

标签: regex notepad++

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 // \[;

1 个答案:

答案 0 :(得分:0)

一般来说,我不想用正则表达式来做这件事,但我还是试了一下:http://regex101.com/r/tF6bZ1

/\A(\/\/ --- Literal)[\r\n]+|(\/\/ --- Edited)\z|\/\/(.*[\r\n]*)/gi

这不做任何类型的任何验证或其他任何验证,只是直接上下匹配。您应该可以使用\1\3\2等替换。

祝你好运!