所以我有一些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
如果評論是多行的,該怎麼辦? –