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

求匹配数字N后跟任意N个字符的正则表达式,修正现有写法错误

匹配「数字N后跟任意N个字符」的正确正则表达式

问题分析

你之前使用的(\d+).{\1}存在两个核心问题:

  1. 未用锚点限定整个字符串,可能触发非预期的部分匹配;
  2. 多数正则引擎中,{\1}会被解析为字面字符{、捕获组内容、},而非将捕获组的数值作为重复次数,因此会错误匹配3l{3}、10k{10}这类带大括号的字符串。

正确正则写法

^(\d+).{$1}$

写法说明

  • ^ 和 $:锚点,强制匹配整个字符串,杜绝部分匹配的情况;
  • (\d+):捕获一个或多个数字作为N;
  • .{$1}:匹配任意N个字符,其中$1会引用前面捕获到的数字作为重复次数。

验证结果

  • 匹配成功:1n(1位数字+1个字符)、2dg(1位数字+2个字符)、6iut5.u(1位数字+6个字符)、49875(1位数字+4个字符);
  • 匹配失败:3l{3}(总长度5≠1+3)、10k{10}(总长度6≠2+10)。

内容的提问来源于stack exchange,提问作者Vahag Chakhoyan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 20:34:51