用于XML替换的Notepad ++正则表达式

时间:2011-12-19 07:33:18

标签: regex notepad++

我需要替换XML文件中的以下行:

hashName="'Miecz Nieb. Wojownika+5IMiecz Nieb. Wojownika+5" name="Miecz Nieb. Wojownika+5"

由于上述行不正确,我希望将其替换为:

hashName="'Miecz Nieb. Wojownika+5'" name="Miecz Nieb. Wojownika+5"

(应该从name =“”attr获取项目名称。)。

这是我目前得到的,它没有按预期工作,因为它删除了我的name="..."属性。

搜索:

hashName="(')(.*)"(.)name="(.*)"(.)/

替换为:

hashName="'\4'" name="\4"

2 个答案:

答案 0 :(得分:1)

这应该有效

Search for: hashName=\".+\" name=\"(.+)\"
Replace with: hashName="'\1'" name="\1"

答案 1 :(得分:1)

对于这个简单的例子,这是有用的

搜索

hashName="[^"]*"\s*name="([^"]*)"

并替换为

hashName="'\1'" name="\1"

如果您不想捕获或分组字符,请不要在其周围放置括号,因此我删除了大部分字符。

为了避免太多匹配,例如如果你在一行中有两个“名称”属性,我使用[^"]*进行非贪婪匹配。