在JavaScript Regex中,如何匹配哈希标签,但不匹配HTML代码?

y4ekin9u  于 2023-08-08  发布在  Java
关注(0)|答案(4)|浏览(95)

这就是我如何获得文本主体的标签。

var tags =  body.match(/#([a-z0-9]+)/gi);

字符串
但是,如果句子是:

The brown #fox jumped over ‘ fence.


上面的正则表达式将处理“8216;“作为一个标签,这是我不想要的。我只想用“狐狸”做标签。
注意:我只需要一个基本的正则表达式解决方案。

niknxzdl

niknxzdl1#

试试这个:

/(^#|\s#)([a-z0-9]+)/gi

字符串

现场演示:http://jsfiddle.net/DerekL/NpjyR/

或者这个:

/(^#|[^&]#)([a-z0-9]+)/gi   //this will exclude every &#

mwngjboj

mwngjboj2#

假设你可以访问DOM,你可以使用DOM来解码HTML,然后匹配文本内容:

var temp = document.createElement('div');
temp.innerHTML = body;
var tags = temp.textContent.match(/#([a-z0-9]+)/gi);

字符串

qqrboqgw

qqrboqgw3#

试试这个:

#([a-z0-9]+)\b(?!;)

字符串

c8ib6hqw

c8ib6hqw4#

不受欢迎的unliked
假的false
其他others
------------------------
null

相关问题