正则表达式在notepad ++中搜索和替换

时间:2014-07-23 15:11:49

标签: regex notepad++

如果我要在记事本中的文本文件中删除一行文本,并且它总是这样格式化

[文本]:

除了文本区域中的单词发生变化。什么是正则表达式,我可以用记事本中的搜索和替换功能删除整个部分?

2 个答案:

答案 0 :(得分:1)

要删除以[ 开头的任何文字 ]:开头的整行,您可以使用:^[\t ]*\[.*?\]:.*?\r\n

说明:

^ ...在一行开头搜索(在本例中)。

[\t ]* ...找到0个或更多标签或空格。

\[ ...找到正方形括号作为文字字符。

.*? ...找到0个或更多字符,除了新行字符回车和换行非贪婪,这意味着尽可能少的字符来获得肯定匹配,即在第一次出现以下时停止匹配搜索表达式中的]

\]: ...将结束方括号视为文字字符和冒号。

.*?\r\n ...找到除新换行符之外的0个或多个字符,最后还有终止该行的回车符和换行符。

搜索字符串^[\t ]*\[.*?\]:.*?$也会找到完整的行,但也不会匹配行终止。

替换字符串对于两个搜索字符串都是空字符串。

答案 1 :(得分:0)

如果删除整个部分,则表示删除[text]:直到下一个[otherText]:,您可以尝试:

\[text\]:((?!\[[^\]]*\]:).)*

请记住为"设置标志。匹配换行符"。

此正则表达式基本上首先匹配您的部分标题。然后,它将在此标题之后立即开始匹配,并且对于每个字符,它使用负向前瞻来检查该字符后面的字符串是否看起来像节标题。如果匹配则终止。

注意:请记住,此正则表达式将替换匹配模式的所有匹配项。换句话说,如果你有多个部分,它们都会被替换。