You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JavaScript中按特定规则拆分含链接格式的字符串?

解决方法

你可以使用带有正则表达式的String.match()方法直接捕获目标内容,核心逻辑是同时匹配Markdown链接和普通文本块:

const str = 'My [Link format](https://google.com) demo';
const result = str.match(/\[.*?\]\(https?:\/\/.*?\)|\S+/g);
console.log(result); // 输出: ['My', '[Link format](https://google.com)', 'demo']

正则表达式说明

  • \[.*?\]\(https?:\/\/.*?\):精准匹配Markdown格式链接:
    • \[ 和 \] 匹配链接文本的方括号
    • .*? 非贪婪匹配链接的文本内容(支持包含空格)
    • \( 和 \) 匹配URL的括号
    • https?:\/\/ 匹配http://或https://开头的URL
  • |:逻辑“或”,表示匹配链接或普通文本
  • \S+:匹配一个或多个非空白字符,即普通的单词/文本块
  • g:全局匹配标志,确保找到所有符合条件的内容

为什么之前的尝试可能失败

  • 直接用split()的话,很难找到固定的分隔符(链接前后是空格,但空格也可能出现在链接文本里),无法精准分割出完整链接
  • 若之前的match()正则没写对,比如只匹配链接或只匹配普通文本,就会遗漏目标内容

内容的提问来源于stack exchange,提问作者Sayantan Mondal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 12:40:22