簡體   English   中英

如果屬性值可能帶有“>”字符,則使用JavaScript Regex匹配所有html標簽

[英]Using JavaScript Regex to match all html tags if attribute values may have “>” character

我想用RegEx /<[^>]*>/g匹配字符串中的所有html標簽

但是某些標記的屬性值中帶有“>”,例如<div :if="x > 1"> ,只能得到<div :if="x>作為結果。

如何修改RegEx以解決此問題?


實際上,我不需要匹配所有真正有效的html標簽。 我只需要將所有<***>匹配,就不能用'>'引起來。

如果您具有已解析的HTML,則可以將CSS選擇器與document.querySelectorAll一起使用,以執行為您查找元素的操作。

使用轉義字符\\\\'[\\\\:if*=\\\\>]'您可以直接搜索標記名:if並使用*=選擇器,可以在屬性值中的任意位置找到> (轉義)。

我在@JonathanLowowski上與此有關。 屬性名稱:if看起來不正確,可能會在IE中失敗。 但是它看起來確實像沒有名稱空間的名稱空間屬性。

 const elements = document.querySelectorAll('[\\\\:if*=\\\\>]') console.log(elements) 
 <div :if="x > 1"></div> <div :if="x"></div> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM