【问题标题】:Get the FIRST CHAR of matched substring获取匹配子串的第一个字符
【发布时间】:2025-11-28 07:10:01
【问题描述】:

我正在尝试在链接 (href) 中插入一个匹配的子字符串,但没有第一个字符是 '#'。

事实上,我想用一个链接包装#hashtag,这很好用,但是当我使用 $& 模式时,它会返回给我整个匹配的内容。我想去掉我的href中的'#'。

.replace(/#[a-z0-1A-Z]+/g, '<a href="https://twitter.com/search?q=**$&**">$&</a>');

可以排除第一个字符吗?

【问题讨论】:

    标签: javascript regex replace pattern-matching


    【解决方案1】:

    使用群组捕获。捕获将在$1

    .replace(/#([a-z0-1A-Z]+)/g, '<a href="https://twitter.com/search?q=**$1**">$&</a>');
    

    【讨论】:

    • 哦,其实很简单:)
    【解决方案2】:
    .replace(/#([a-z0-1A-Z]+)/g, '<a href="https://twitter.com/search?q=$1">$&</a>');
    

    将正则表达式的一部分放在括号内(称为组捕获)使得该部分可以通过 $1$2$3 等对每组括号进行访问。

    【讨论】:

    • 感谢您的提示,我现在清楚了!
    • 没问题 ;) 随时将此答案标记为解决方案,以便问题得到解决
    • 很遗憾我做不到dis,我没有十一分。所以一旦我有了它,我会推送你的答案。
    最近更新 更多