0
我想用正則表達式/<[^>]*>/g
使用JavaScript正則表達式匹配所有的HTML標籤,如果屬性值可以有「>」字符
匹配字符串中的所有HTML標籤,但一些標籤有值與「>」屬性,如<div :if="x > 1">
,結果只能得到<div :if="x>
。
如何修改RegEx來解決這個問題?
其實,我不需要匹配所有真正有效的html標籤。我只需要匹配所有<***>
,'>'不得在引號中。
我想用正則表達式/<[^>]*>/g
使用JavaScript正則表達式匹配所有的HTML標籤,如果屬性值可以有「>」字符
匹配字符串中的所有HTML標籤,但一些標籤有值與「>」屬性,如<div :if="x > 1">
,結果只能得到<div :if="x>
。
如何修改RegEx來解決這個問題?
其實,我不需要匹配所有真正有效的html標籤。我只需要匹配所有<***>
,'>'不得在引號中。
如果您有解析的HTML,則可以使用document.querySelectorAll
的css選擇器來執行爲您查找元素的操作。
'[\\:if*=\\>]'
使用轉義字符\\
您可以直接搜索的標記名:if
並與*=
選擇,你可以找到>
(逃脫)在該屬性的值的任何地方。
Im與@JonathanLowowski在此上。屬性名稱:if
看起來不正確,並可能在IE中失敗。但它看起來像一個沒有名稱空間的名稱空間屬性。
const elements = document.querySelectorAll('[\\:if*=\\>]')
console.log(elements)
<div :if="x > 1"></div>
<div :if="x"></div>
http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 :) –
當心來自ZA̡͊͠͝LGΌ – mplungjan
@Quentin是屬性名稱:if:有效標記。我無法在任何地方找到答案。 – synthet1c