Javascript / jQuery – 使用正则表达式解析字符串中的主题标签,但URL中的锚点除外

前端之家收集整理的这篇文章主要介绍了Javascript / jQuery – 使用正则表达式解析字符串中的主题标签,但URL中的锚点除外前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在SO上看了几个其他可能的解决方案,但没有看到任何正在做我正在做的事情.

目前,我已经能够使用以下代码解析字符串并检测哈希标记

mystring = mystring.replace(/(^|\W)(#[a-z\d][\w-]*)/ig,"$1<span class='hash_tag'>$2</span>").replace(/\s*$/,"");

这成功地检测到各种#hashtags.然而,它还检测URL中的锚点,例如:http://www.example.com/#anchor – 我无法弄清楚如何修改我必须排除锚点,同时保持其灵活性.

谢谢

解决方法

这是一个匹配hashtag(#)的正则表达式,如果它前面有一个空格或它是字符串的开头..就像这样:
(^|\s)(#[a-z\d-]+)

工作正则表达式示例:

http://regex101.com/r/pJ4wC5

使用Javascript:

var string = '#hello This is an #example of some text with #hash-tags - http://www.example.com/#anchor but dont want the link';

string = string.replace(/(^|\s)(#[a-z\d-]+)/ig,"$1<span class='hash_tag'>$2</span>");

console.log(string);

输出

<span class='hash_tag'>#hello</span> This is an <span class='hash_tag'>#example</span> of some text with <span class='hash_tag'>#hash-tags</span> - http://www.example.com/#anchor but dont want the link
原文链接:https://www.f2er.com/jquery/150169.html

猜你在找的jQuery相关文章