我有一个 XML 文件,需要替换其中重复出现的某个文本。但是,换行符和回车符可能出现在文本中的任何地方。
文字总是这样的:
@发布{XXX}
其中 XXX 是要更改的文本,可以是任何内容,并且可以在任意位置包含换行符和回车符(据我所知,两者始终在一起)。文本中也可能根本没有换行符和回车符。
我尝试做了以下事情:
\@发布{.+}
如果其中没有换行符和回车符,这将替换相关文本。
然后我尝试用一个在任何地方都未出现的字符串替换 \r\n,然后再次执行同样的事情:
\@发布{.+}
但是,在这种情况下,这将替换文件中的单个大块内容,而不是每次出现的内容(也许它会从该文本的第一次出现到最后一次出现,并替换这两次出现之间的所有内容)。
搜索模式设置为正则表达式,未勾选“环绕”。我尝试过这些设置,但无济于事。
任何帮助是极大的赞赏。
答案1
我没有找到应有的解决方案,但我有一个很好的解决方法。
首先将所有换行符替换为唯一文本,例如 #####LINEBREAK#####,以使所有换行符都为文本。然后使用第一个正则表达式修改文本,然后将 #####LINEBREAK##### 替换回 \r\n。
答案2
发现所有事件</tp>
之后都有一个结尾,因此我进行了如下操作:
找什么:
\@R.*?<
用。。。来代替:
<
环绕,正则表达式,匹配换行符。
看来它起了作用。谢谢你的提示。