任何人都可以看看我的正則表達式在JavaScript中,並建議一個正確的?javascript正則表達式匹配HTML字符串中的屬性
我想在HTML/XML字符串中像下面那樣選擇屬性(名稱/值)對嗎?
<unknowncustom:tag attrib1="XX' XX'" attrib2='YY" YY"' attrib3=ZZ""'>/unknowncustom:tag>
SOME TEXT that is not part of any tag and should not be selected, name='XX', y='ee';
<custom:tag attrib1="XX' XX'" attrib2='YY" YY"' attrib3=ZZ""'>/custom:tag>
我發現很多解決方案,但似乎沒有萬無一失(包括本Regular expression for extracting tag attributes)
我現在正則表達式選擇第一個屬性對,但無法弄清楚如何使它選擇所有匹配屬性。下面是正則表達式:
/<\w*:?\w*\s+(?:((\w*)\s*=\s*((?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))))[^>]*>/gim
感謝
預期產量? ,我不懂英文 – aelor
[** No **](http://stackoverflow.com/a/1732454/497418)。不要這樣做。 [正則表達式是錯誤的解決方案](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)。使用文檔片段並讓瀏覽器使用它的本地分析功能。 – zzzzBov
期望的輸出將能夠遍歷所有屬性和值對。 對於那些建議讓瀏覽器使用其解析功能的人來說,這並不符合我的目的。如果不是正則表達式,那麼我可能不得不寫一個JS函數來處理它。 使用瀏覽器解析的問題是,當我試圖找回原始內容的源時,它的自定義屬性不會返回。 –