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

Chrome插件Tel Linker正则无法匹配含%20编码的tel URL问题求助

解决Tel Linker扩展正则匹配编码空格的问题

你的正则无法匹配%20编码空格的核心原因是:原规则只包含了普通空格(\s)、短横和点作为分隔符,没覆盖URL编码后的空格%20。以下是调整后的正则和说明:

修改后的正则

(?:[\s:]|\d+(?:-|\.)|^)\(?([\d]{3})\)?(?:[- .]|%20)?([\d]{3})(?:[- .]|%20)?([\d]{4})(?=<|\s|$)

关键调整点

  • 将原规则中匹配分隔符的[- \.]?替换为(?:[- .]|%20)?:
    • (?:...)是非捕获组,用于整合多种分隔符选项但不额外生成捕获分组,保持原有三个号码分组(区号、中间三位、末尾四位)的结构不变;
    • 新增%20选项,专门匹配URL编码后的空格,同时保留原有的短横、点和普通空格匹配能力;

测试验证

针对你给出的两个案例:

  • tel:(904)%20640-8301:会正确捕获904、640、8301三个部分;
  • tel:(904)%20640%208301:同样能精准提取三组号码数字;

如果后续遇到其他编码格式的分隔符(比如%2D对应短横),可以用同样的方式把编码值加入到非捕获组的选项中即可。

内容的提问来源于stack exchange,提问作者Vitalie R.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 19:30:25