![Notepad++ 中查找和替换的表达式帮助](https://linux22.com/image/1358822/Notepad%2B%2B%20%E4%B8%AD%E6%9F%A5%E6%89%BE%E5%92%8C%E6%9B%BF%E6%8D%A2%E7%9A%84%E8%A1%A8%E8%BE%BE%E5%BC%8F%E5%B8%AE%E5%8A%A9.png)
我正在尝试使用 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>