![](/img/trans.png)
[英]Find position of HTML tags in text with javascript, preferrably not using regex?
[英]Find text not within HTML tags with Javascript (regex)
我有一个来自DOM元素的字符串,其中包含类似于以下内容:
<span class='greenhornet'>Can you catch the green?</span>
我需要知道绿色一词的位置。
在这种情况下,如果我设置了模式/green/
,则JS exec()
当然会返回绿色的第一个匹配项(位置13)。
有没有办法告诉JS正则表达式忽略!
单词green ,如果它介于<
和>
之间,或者有更简单的方法吗?
哦,我也不能只剥离HTML!
谢谢。
正如评论者(和user1883592)所建议的那样,在此处剥离HTML或从HTML中解析文本是正确的答案。 在HTML上使用正则表达式是失败者的游戏; 您已被警告。
但是,话虽如此,如果您真的想玩这个游戏,我首先要确保您的任期与最后一个结束括号之间没有任何括号。 换一种说法:
var greenRegex = />[^<]+(green)/;
var position = "<span class='greenhornet'>Can you catch the green?</span>".search(greenRegex);
// position = 25, not 13
您可以获取span元素的innerHTML。 无需正则表达式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.