Regex 记事本++;正则表达式删除以\pard…开头的行,以换行符结尾

Regex 记事本++;正则表达式删除以\pard…开头的行,以换行符结尾,regex,notepad++,replace,linefeed,Regex,Notepad++,Replace,Linefeed,我正在使用Notepad++清理文件,并尝试删除以\pard开头的行,其中包含一些文本,然后以换行符结尾。但是\n在正则表达式中不起作用,*在扩展的查找和替换中不起作用 这就是我尝试失败的地方:\pard.*\n \pard.*工作,但将换行保留在RegEx中。您的确切意思是“\pard”还是“\p”ard?如果是第一个,那么你需要用另一个“\”来逃避“\” 您可能还需要查看新行字符实际上是pc格式,这是\r\n \\pard.*\r\n 中继器后面的问号是,这样它就不会贪婪,否则它会吞下大部

我正在使用Notepad++清理文件,并尝试删除以
\pard
开头的行,其中包含一些文本,然后以换行符结尾。但是
\n
在正则表达式中不起作用,
*
在扩展的查找和替换中不起作用

这就是我尝试失败的地方:
\pard.*\n

\pard.*
工作,但将换行保留在RegEx中。

您的确切意思是“\pard”还是“\p”ard?如果是第一个,那么你需要用另一个“\”来逃避“\”

您可能还需要查看新行字符实际上是pc格式,这是\r\n

\\pard.*\r\n
中继器后面的问号是,这样它就不会贪婪,否则它会吞下大部分文件,包括它不应该吞下的部分

编辑:现在它应该正确处理换行符了

编辑:试试这个

^\\pard.*$

我认为一个密切相关的问题可以满足你的需要。是的,我认为卡梅隆的建议是你最好的选择——至少是用记事本++。我建议你找一个真正支持正则表达式的编辑器,比如EditPad Pro。对未来的任何人来说:你也可以试着推迟学习正则表达式一段时间(但我相信这将不可避免地发生在某一天)。记事本++不识别贪婪/不贪婪的修饰符。问题不在于回车,而是记事本++本身。NPP的“正则表达式”搜索模式一次只在一行上工作——它实际上在应用正则表达式之前去掉了行分隔符。它的“扩展”模式支持多种转义,包括
\n
\r
等,但没有与正则表达式(甚至全局表达式)相关的其他特性。无法将这两种模式结合起来;正如OP所说,您可以使用行分隔符或正则表达式,但不能同时使用两者。不,我知道有一种方法,我一直都在使用它(在我切换到linux之前),尝试新的一种…不
^\\pard.*$
在NPP中的工作方式与在任何其他风格中的工作方式一样:它找到正确的行,但匹配不包括行分隔符(前导或尾随)。也许你在想Cameron链接到的另一个线程中的“查找所有/删除书签行”技巧。或者一个插件。感谢大家的关注,不幸的是我不得不手动完成任务,不再有文件来试用你的建议。再次感谢。
\\pard.*(\r)?\n
^\\pard.*$