所以我有一些xml我试图重新格式化,而我试图找到所有的键/值对。除了当我有一个包含键的注释行时,所有东西都可以工作。下面是所讨论的行:正则表达式 - 忽略带有多个捕获的注释xml行
<!-- <add key="FTPRoot" value="\\productionshare\FTP" /> -->
<add key="FTPRoot" value="C:\FTP" />
第一行应被忽略,并且所述第二线应具有四个捕获(两场,每两个摄像)结束。以下正则表达式允许多个捕获和正确行为的第二线,但也不正确(不考虑它,正则表达式是不怪)拾取的第一行:
/(\S*)=(["].*?["])/g
这将忽略第一行,但不能在第二行匹配两次,从而通过四次捕获来授予我。
/<[^!].*?(\S*?)=(["]\S*["])/g
所以,我错过什么得到我所需要的捕捉。即使需要,我也可以进行全线比赛,这只是我错过的第二次比赛。
如果这在JavaScript中,而不是使用正则表达式,我建议一个XML到JSON转换器。 https://www.npmjs.com/package/xml2js – thomasmeadows
解析整个XML然后重新生成它可能会更简单。 – bfontaine
如果评论是多行的,该怎么办? –