在 Notepad++ 中,通配符替换在未知位置处换行

在 Notepad++ 中,通配符替换在未知位置处换行

我有一个 XML 文件,需要替换其中重复出现的某个文本。但是,换行符和回车符可能出现在文本中的任何地方。

文字总是这样的:

@发布{XXX}

其中 XXX 是要更改的文本,可以是任何内容,并且可以在任意位置包含换行符和回车符(据我所知,两者始终在一起)。文本中也可能根本没有换行符和回车符。

我尝试做了以下事情:

\@发布{.+}

如果其中没有换行符和回车符,这将替换相关文本。

然后我尝试用一​​个在任何地方都未出现的字符串替换 \r\n,然后再次执行同样的事情:

\@发布{.+}

但是,在这种情况下,这将替换文件中的单个大块内容,而不是每次出现的内容(也许它会从该文本的第一次出现到最后一次出现,并替换这两次出现之间的所有内容)。

搜索模式设置为正则表达式,未勾选“环绕”。我尝试过这些设置,但无济于事。

任何帮助是极大的赞赏。

答案1

我没有找到应有的解决方案,但我有一个很好的解决方法。

首先将所有换行符替换为唯一文本,例如 #####LINEBREAK#####,以使所有换行符都为文本。然后使用第一个正则表达式修改文本,然后将 #####LINEBREAK##### 替换回 \r\n。

答案2

发现所有事件</tp>之后都有一个结尾,因此我进行了如下操作:

找什么:

\@R.*?<

用。。。来代替:

<

环绕,正则表达式,匹配换行符。

看来它起了作用。谢谢你的提示。

相关内容