小唯快跑啊
2022-06-16 15:21:51
我需要匹配 HTML 中的單詞,但需要跳過標(biāo)簽(具有特定類)及其內(nèi)容。例子:<p> There is my way <span class="abc"> way beyond someone </span></p>我只需要匹配第一個(gè)way單詞。直到現(xiàn)在我使用單詞邊界來選擇單詞。/\b(way)\b/ig但在以下情況下失敗。<p> There is nothing. <span class="abc"> Way beyond someone </span></p>在這個(gè)聲明中,我不想匹配任何東西,因?yàn)閣ay它在span.abc元素內(nèi)部。我試過^運(yùn)營商,但似乎沒有用。IE/(\b)way(\b)^("abc">the)/ig
2 回答

慕的地10843
TA貢獻(xiàn)1785條經(jīng)驗(yàn) 獲得超8個(gè)贊
我用另一種方法嘗試過......它返回匹配的字符串,沒有“Way”這個(gè)詞......
var str="<p> There is nothing. <span class=\"abc\"> Way beyond someone
</span></p>";
var x=str.split(" ")
//console.log(x);
for(var i=0;i<x.length;i++)
{
//console.log(x[i])
if(x[i]!="Way")
{
console.log(x[i])
}
}
希望對您有所幫助...

慕婉清6462132
TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超2個(gè)贊
我不知道一種方法來做你想做的事,但你可以對所有匹配使用一個(gè)正則表達(dá)式,對你想要丟棄的那些使用另一個(gè)正則表達(dá)式,然后只在一個(gè)匹配中使用匹配而不在另一個(gè)匹配中使用。在您的示例中:
way
匹配該詞出現(xiàn)的所有時(shí)間
<span.*?>(.|\n)*?way(.|\n)*?<\/span>
匹配所有 span 元素。然后你不能得到第一個(gè)正則表達(dá)式的所有匹配項(xiàng),而第二個(gè)正則表達(dá)式不匹配。
添加回答
舉報(bào)
0/150
提交
取消