正则表达式匹配#hashtag但不匹配#hashtag; (带分号)

2024-03-29

我有当前的正则表达式:

/(?<=[\s>]|^)#(\w*[A-Za-z_]+\w*)/g

我正在针对字符串进行测试:

Here's a #hashtag and here is #not_a_tag; which should be different. Also testing: Mid#hash. #123 #!@£ and <p>#hash</p>

出于我的目的,该字符串中应该只检测到两个主题标签。我想知道如何改变表达方式doesn't匹配以 a 结尾的主题标签;在我的例子中这是#not_a_tag;

Cheers.


怎么样:

\B(\#[a-zA-Z]+\b)(?!;)

正则表达式演示 https://regex101.com/r/wP6yX5/1

  • \B -> 不是字边界
  • (#[a-zA-Z]+\b) -> 捕获以 # 开头的组,后跟任意数量的 a-z 或 A-Z,末尾有字边界
  • (?!;) -> 后面不跟 ;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

正则表达式匹配#hashtag但不匹配#hashtag; (带分号) 的相关文章

随机推荐