regexp用于href中的主题标签/提及

时间:2019-03-13 20:24:38

标签: regex formatting hashtag mention

我的目标是使html hastag,为此,我需要将#换成

<a class="tag"><span class="hash">#</span>text</a>

我不会做正则表达式,它可以用#和@来给我单词,但是我对这样的URL有一些麻烦: http://gitlab.com/#xxxhttps://medium.com/@erikdkennedy

我的示例字符串:

<p>Some text <span class="highlighted">#test</span><br />
<a href="http://gitlab.com/#xxx" target="_blank" class="link">gitlab.com/#xxx</a><br />
<code>some feature</code></p>

我的正则表达式是:

(?!.*(<mail-link|link))#([a-zA-Z0-9]+)

我在#test和最后#xxx(https://regex101.com/r/pXxIkf/1)中有2场比赛

我如何只能进行测试,而在href定义内找不到?

谢谢!

1 个答案:

答案 0 :(得分:1)

尝试一下:

(?<=\>)(?:[\s]*(?:#|@))([a-zA-Z0-9]+)

(?<=>)后向肯定,以确保井号之前有>

(?:启动非捕获组。

[\ s] * 是否存在空格。

(?:#| @)非捕获组,请确保其中有# or @

DEMO