Javascript正则表达式是否放弃特定html标记中的匹配项并匹配其他标记?
我需要匹配HTML中的单词,但需要跳过标记(带有特定类)及其内容。 例如:Javascript正则表达式是否放弃特定html标记中的匹配项并匹配其他标记?,javascript,html,regex,match,Javascript,Html,Regex,Match,我需要匹配HTML中的单词,但需要跳过标记(带有特定类)及其内容。 例如: <p> There is my way <span class="abc"> way beyond someone </span></p> 在这句话里,我不知道;我不想匹配任何内容,因为way在span.abc元素中 我尝试了^操作符,但似乎不起作用。i、 e./(\b)way(\b)^(“abc”>the)/ig我不知道怎么做,但是你可以对所有匹配使用一个正则表达式,对
<p> There is my way <span class="abc"> way beyond someone </span></p>
在这句话里,我不知道;我不想匹配任何内容,因为way
在span.abc
元素中
我尝试了
^
操作符,但似乎不起作用。i、 e./(\b)way(\b)^(“abc”>the)/ig
我不知道怎么做,但是你可以对所有匹配使用一个正则表达式,对要放弃的使用另一个正则表达式,然后只在一个匹配中使用匹配,而不使用另一个。
在您的示例中:
way
匹配此单词出现的所有时间
<span.*?>(.|\n)*?way(.|\n)*?<\/span>
(.|\n)*?方式(.|\n)*?
匹配所有跨度元素。
那么你就不能得到第一个正则表达式的所有匹配项,因为第二个正则表达式不匹配。我用另一种方法尝试了。。。。 它返回匹配的字符串,但不包含单词“Way”
var str=“什么都没有。远远超过某人
”;
变量x=str.split(“”)
//控制台日志(x);
对于(var i=0;i可能重复的不使用正则表达式来解析HTML。@Barmar我知道我们不应该使用正则表达式。但在某些情况下,在处理海量数据时,您选择了各种可能的方法来减慢查询速度。查询DOM速度太慢,并且多年来对理论非常了解,请在这方面提供帮助e、 我被困了4个小时。@esqew这个问题充满了理论。我已经厌倦了大部分的例子。它不应该那么复杂。请重新阅读这个问题。HTML中的单词应该被跳过,并且不匹配。你的解决方案正好相反。@RajanVerma编辑了答案……希望这就是你要问的d、 …请再次阅读问题。您的解决方案还将选择这些元素
和
<span.*?>(.|\n)*?way(.|\n)*?<\/span>
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])
}
}