为了账号安全,请及时绑定邮箱和手机立即绑定

Javascript正则表达式丢弃特定html标签中的匹配并匹配其他标签?

Javascript正则表达式丢弃特定html标签中的匹配并匹配其他标签?

小唯快跑啊 2022-06-16 15:21:51
我需要匹配 HTML 中的单词,但需要跳过标签(具有特定类)及其内容。例子:<p> There is my way <span class="abc"> way beyond someone </span></p>我只需要匹配第一个way单词。直到现在我使用单词边界来选择单词。/\b(way)\b/ig但在以下情况下失败。<p> There is nothing. <span class="abc"> Way beyond someone </span></p>在这个声明中,我不想匹配任何东西,因为way它在span.abc元素内部。我试过^运营商,但似乎没有用。IE/(\b)way(\b)^("abc">the)/ig
查看完整描述

2 回答

?
慕的地10843

TA贡献1785条经验 获得超8个赞

我用另一种方法尝试过......它返回匹配的字符串,没有“Way”这个词......


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])


}


}

希望对您有所帮助...


查看完整回答
反对 回复 2022-06-16
?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

我不知道一种方法来做你想做的事,但你可以对所有匹配使用一个正则表达式,对你想要丢弃的那些使用另一个正则表达式,然后只在一个匹配中使用匹配而不在另一个匹配中使用。在您的示例中:

way

匹配该词出现的所有时间

<span.*?>(.|\n)*?way(.|\n)*?<\/span>

匹配所有 span 元素。然后你不能得到第一个正则表达式的所有匹配项,而第二个正则表达式不匹配。


查看完整回答
反对 回复 2022-06-16
  • 2 回答
  • 0 关注
  • 116 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信