【发布时间】:2017-08-02 19:47:23
【问题描述】:
我正在尝试找到一种在 Notepad++ 中查找和替换的方法,但我不知道如何执行允许我这样做的正则表达式。我需要找到所有的
<Element
Attribute1="<!--Any one letter-->34_<!--Anything-->"
<!--Multiple Attributes on multiple lines-->
<!--Until-->
AttributeToMatch="Value"
<!--Multiple Attributes on multiple lines--> />
我想要以下:
<Element
Attribute1="<!--Any one letter-->34_<!--Anything-->"
<!--Multiple Attributes on multiple lines-->
<!--Until-->
AttributeToMatch="NewValue"
<!--Multiple Attributes on multiple lines--> />
我需要能够将数百个元素的“SpecificValue”只替换为另一个值,因此我想找到一种方法来更快、更有效地完成它,而不是手动完成。
到目前为止,我想出了:
Attribute1="[A-Z]{1}34_.*(\r|\n)(\s)*.*(\r|\n)(\s)AttributeToMatch="SpecificValue"哪个不起作用(没有找到),我不明白为什么。 谢谢
【问题讨论】:
-
好的,所以最简便的方法是大后瞻和前瞻,例如:(?)。试试看。编辑:不,抱歉,lookbehind 可能无效。
-
我知道这很痛苦,但是既然您仍然在使用 XML,为什么不编写一个快速脚本来解析它、更新它,然后再次将其输出为 XML?
-
@struthersneil 确实无效...您建议用什么语言编写脚本?
-
我会用你喜欢的任何东西。蟒蛇,红宝石也许。任何具有易于使用的 XML 库的东西。但可能有 is 一个正则表达式解决方案。我要在这里修补一下。
-
感谢您的修补!我会研究一下 python 替代方案,我还没有玩过 XML 解析,所以我会看看我能做什么!