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

正则表达式需求:匹配含空格且总数字长度为7-9的数字组合

正则表达式匹配带空格的7-9位数字组合

我不太擅长正则表达式,想要匹配带有空格的数字组合,类似表达式\s*([0-9]+)\s*([0-9]+)\s*([0-9]+),但要求总数字长度(不含空格)为7-9位。

符合匹配的示例

12345678
123456789
1234567
123 4567  8
12   3456789
12 3456  7

不匹配的示例

123456
1234567890
1234 5 6
123 4567  890
12   345678900
12 3456  

解决方案

可以用带正向预查的正则表达式实现需求,既保留三个数字分组的捕获,又限制总数字长度:

^(?=(?:\D*\d){7,9}$)\s*(\d+)\s*(\d+)\s*(\d+)\s*$

正则说明:

  • ^ 和 $:锁定字符串首尾,避免仅匹配目标字符串的一部分
  • (?=(?:\D*\d){7,9}$):正向预查,统计整个字符串中的数字总数,确保刚好在7-9位之间(\D*\d 表示任意非数字字符后接一个数字,循环7-9次)
  • \s*(\d+)\s*(\d+)\s*(\d+)\s*:匹配三个连续数字组,组之间允许任意数量的空格,字符串首尾也可以有空格

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 17:12:19