这就是我获取文本正文标签的方式。
var tags = body.match(/#([a-z0-9]+)/gi);
但是,如果句子是:
The brown #fox jumped over ‘ fence.
上面的正则表达式会将"8216;"视为标签,这是我不想要的。我只想用"狐狸"作为标签。
注意:我只想要一个基本的正则表达式解决方案。
试试这个:
/(^#|s#)([a-z0-9]+)/gi
现场演示:http://jsfiddle.net/DerekL/NpjyR/
或者这个:
/(^#|[^&]#)([a-z0-9]+)/gi //this will exclude every &#
假设您有权访问 DOM,您可以使用 DOM 对 HTML 进行解码,然后匹配文本内容:
var temp = document.createElement('div');
temp.innerHTML = body;
var tags = temp.textContent.match(/#([a-z0-9]+)/gi);
试试这个:
#([a-z0-9]+)b(?!;)
喜欢 | 不喜欢 |
---|---|
真 | 假 |