gpt4 book ai didi

javascript - 如何使用 RegEx 和变异元音获取字符串的所有匹配项 - Hashtags

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

我正在寻找一种方法来用其他东西替换所有这些主题标签:

#foo #foo #foo

目前我使用这段代码:

msg = msg.replace(new RegExp('(^|\\s)#' + searchString + '(\\s|$)', 'gi'), $1 + 'bar' + $2");

只要相同的主题标签只有两次,此解决方案就有效,但一旦变成三个或更多,它就会失败。

据我所知,一个简单的方法是不可能的,因为我需要支持变异元音 (unicode),而且我必须立即替换所有出现的地方。

所以我正在寻找一个可以处理两倍以上相同主题标签的正则表达式。

最佳答案

您可以将此正则表达式与 lookahead 结合使用来解决此问题:

msg = msg.replace(new RegExp('#' + searchString + '(?=\\s|$)', 'gi'), '#bar');

RegEx Demo

您的正则表达式还在匹配的字符串之后消耗空间,没有为下一次匹配留下匹配的空间。

更新:如果你真的想匹配#之前的可选空格,那么你可以使用:

msg = msg.replace(new RegExp('(^|\\s)#' + searchString + '(?=\\s|$)', 'gi'), "$1" + 'bar');

关于javascript - 如何使用 RegEx 和变异元音获取字符串的所有匹配项 - Hashtags,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27843494/

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