如果我要在记事本中的文本文件中删除一行文本,并且它总是这样格式化
[文本]:
除了文本区域中的单词发生变化。什么是正则表达式,我可以用记事本中的搜索和替换功能删除整个部分?
答案 0 :(得分:1)
要删除以[
开头的任何文字 ]:
开头的整行,您可以使用:^[\t ]*\[.*?\]:.*?\r\n
说明:
^
...在一行开头搜索(在本例中)。
[\t ]*
...找到0个或更多标签或空格。
\[
...找到正方形括号作为文字字符。
.*?
...找到0个或更多字符,除了新行字符回车和换行非贪婪,这意味着尽可能少的字符来获得肯定匹配,即在第一次出现以下时停止匹配搜索表达式中的]
。
\]:
...将结束方括号视为文字字符和冒号。
.*?\r\n
...找到除新换行符之外的0个或多个字符,最后还有终止该行的回车符和换行符。
搜索字符串^[\t ]*\[.*?\]:.*?$
也会找到完整的行,但也不会匹配行终止。
替换字符串对于两个搜索字符串都是空字符串。
答案 1 :(得分:0)
如果删除整个部分,则表示删除[text]:直到下一个[otherText]:,您可以尝试:
\[text\]:((?!\[[^\]]*\]:).)*
请记住为"设置标志。匹配换行符"。
此正则表达式基本上首先匹配您的部分标题。然后,它将在此标题之后立即开始匹配,并且对于每个字符,它使用负向前瞻来检查该字符后面的字符串是否看起来像节标题。如果匹配则终止。
注意:请记住,此正则表达式将替换匹配模式的所有匹配项。换句话说,如果你有多个部分,它们都会被替换。