如何在Notepad++中用正则为XML缺失Total属性的行添加Total="0"
在Notepad++中使用正则表达式为XML文件的行批量添加Total属性
需求说明
为XML中所有<TaxAmount>行里,TaxCode属性后缺失Total属性的条目补充Total="0",已存在Total属性的行保持不变。
处理前示例
<TaxAmount TaxCode="7500" Total="4764" Percentage="5.00"/> <TaxAmount TaxCode="7561" Total="1500" Percentage="1.73"/> <TaxAmount TaxCode="1090" Percentage="10.00"/> <TaxAmount TaxCode="7530" Percentage="6.00"/>
处理后示例
<TaxAmount TaxCode="7500" Total="4764" Percentage="5.00"/> <TaxAmount TaxCode="7561" Total="1500" Percentage="1.73"/> <TaxAmount TaxCode="1090" Total="0" Percentage="10.00"/> <TaxAmount TaxCode="7530" Total="0" Percentage="6.00"/>
操作步骤
- 打开Notepad++并加载目标XML文件。
- 按下快捷键
Ctrl+H打开「替换」对话框。 - 在「搜索模式」中选择正则表达式,确保未勾选「.匹配换行符」选项。
- 在「查找内容」框中输入以下正则表达式:
正则逻辑说明:(<TaxAmount TaxCode="[^"]+")(?! Total="[^"]+")(<TaxAmount TaxCode="[^"]+"):精准捕获<TaxAmount TaxCode="xxx"这段内容作为分组1(?! Total="[^"]+"):通过负向预查排除掉已经包含Total属性的行,避免重复修改
- 在「替换为」框中输入替换内容:
逻辑说明:$1 Total="0"$1引用前面捕获的分组1内容,在其后追加Total="0",完成属性补全 - 点击「全部替换」按钮,即可完成批量修改。
内容的提问来源于stack exchange,提问作者Eratik_Ape
相关产品推荐
相关产品推荐

