Notepad++ 中查找和替换的表达式帮助

Notepad++ 中查找和替换的表达式帮助

我正在尝试使用 notepad++ 中的正则表达式处理一些 .xml 文件,但可能有点难以理解。

我目前正在尝试搜索以以下内容开头的任何内容:

<text id="name">Timer</text>   (where "Timer" is a random word\s)

并替换为

<text id="name">Timer</text><text id="MyRule">1.rule</text> 

1.规则将会用于所有后续搜索实例,唯一的随机因素是 id=name 和文本结束之间的单词。

另一个例子是:

<text id="name">start up changes</text>

我想更换

 <text id="name">start up changes</text><text id="MyRule">1.rule</text>

有没有一个简单的正则表达式可以找到这些随机单词,然后在该表达式之后应用我的更改。任何帮助都将不胜感激。

答案1

Karan 的案例会成功。不过,这也有点冒险——您还会得到以下替换品:

<text id="Spatula">Um, how about kitchen utensils for $500, Alex?</text>
<text rex="a" expl="something" other_att="1">"Blasphemy!" he shouted, as he ran to the gondola.</text>

如果你仅有的想要捕获那些<text>仅具有id="name"属性的标签实例,并且您的文件可能还有其他内容,然后具体说明:

搜索:

(<text id="name">.*?</text>)

代替:

\1<text id="MyRule">1.rule</text>

笔记

如果您的示例内容是 XML 或 HTML,请注意id值应该是唯一的。

答案2

我现在无法访问 NotePad++ 进行仔细检查,但请尝试以下操作:

搜索:(<text.*?/text>)

代替:\1<text id="MyRule">1.rule</text>

相关内容