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

求助:编写匹配最多7位数字组与任意空格的Regex及问题排查

解决方法

你的正则有两个问题导致不符合需求:

  • 第二个数字组的量词写错了:{1-7}是错误语法,正则里表示范围要用逗号,应该是{1,7}
  • 用( )*(零个或多个空格)分隔数字组,这会允许数字直接连在一起,比如8位数字会被拆成7位+1位无空格的组,从而被错误匹配

正确的正则应该确保数字组之间必须有至少一个空格分隔,同时每个组最多7位数字,开头结尾允许任意空格:

^\s*\d{1,7}(?:\s+\d{1,7})*\s*$

正则说明:

  • ^\s*:匹配开头任意数量的空格(包括零个)
  • \d{1,7}:匹配第一个1-7位的数字组
  • (?:\s+\d{1,7})*:匹配零个或多个「至少一个空格 + 1-7位数字」的组合,确保后续数字组必须用空格和前面的组分隔
  • \s*$:匹配结尾任意数量的空格(包括零个)

这个正则会拒绝连续的8位及以上数字,只允许由空格分隔的、每组最多7位的数字组合,完全符合你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 07:18:30