我现在想要解析一个大型 XML 文件。 XML 从根本上被破坏了,并且有超过 2000 行,我试图避免手动修复;)
我可以在 Notepad++ 中使用正则表达式替换来执行此操作吗?
<Sensor ID="21.1.1_L"/>
到
<Sensor ID="21.1.1_L">
在所有“传感器”标签中丢失标签右斜杠(并记住我不能简单地将/> 替换为 > 并且 ID 是可变的,包括它的长度,并且可能有也可能没有尾部下划线和 alpha)。
感谢您的任何建议。
最佳答案
这应该有效:搜索
(<Sensor [^<>]*)/>
并全部替换为
\1>
[^<>]*
将匹配除尖括号之外的任意数量的字符(这是为了确保我们永远不能跨越标签的边界进行匹配)。然后,/>
仅当当前标记以斜杠结尾时才匹配。
当然,您需要在 Notepad++ 中打开正则表达式匹配。
关于regex - 希望正则表达式可以做到这一点。修复损坏的 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13091060/