gpt4 book ai didi

javascript - 正则表达式查找以 # 开头直到空格的字符串

转载 作者:行者123 更新时间:2023-11-30 07:09:19 24 4
gpt4 key购买 nike

我正在尝试获取元素中以 # 开头的任何字符串,以使虚拟标签系统运行。基本上

#你好#再见#下午好

然后会显示为

你好再见很好

这是我到目前为止的正则表达式

/#^\s/

我不太擅长正则表达式,但我相信 ^\s 是我想要获取文本直到空白的内容。

示例 HTML:

<div class="content">
<div>Hello everyone today we are going to be discussing #world_views , <br />
Please enjoy today's discussing by #user2
</div>
</div>

我希望它变成的是

<div class="content">
<div>Hello everyone today we are going to be discussing
<a href="/search&keywords=world%20views">#world_views</a> , <br />
Please enjoy today's discussing by <a href="/search&keywords=user2>#user2</a>
</div>
</div>

到目前为止的完整 JavaScript:

$(function() {
var i,forum={
phpbb2:'.postbody',
phpbb3:'.post .content',
punbb:'.entry-content',
invision:'.postbody'
},
yourVersion="phpbb3";

for (i=0;i<forum[yourVersion].length;i++){
$(forum[yourVersion][i]).html(function() {
return $(this)
.html()
.replace(
/#^\s/,
'<a href="/search&keywords='+$1.replace("#","")+'">$1</a>');
});
}
});

最佳答案

你正在寻找“任何不是空白字符的东西,一次或多次”,在正则表达式中,它看起来像:

\S+

因此,对于您的正则表达式,它将是:

/#\S+/

您还可以考虑使用一个捕获组,它只包含 \S+ 匹配的文本,如下所示:

/#(\S+)/

现在捕获组 #1 将包含主题标签的文本,没有井号。

关于javascript - 正则表达式查找以 # 开头直到空格的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17498436/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com