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

求助:编写匹配1-30组10位数字加|格式的正则表达式

修正后的正则表达式
^(\d{10}\|){1,30}$

正则规则说明

  • ^:锁定字符串开头,避免前置多余字符
  • (\d{10}\|):定义一组匹配单元,其中\d{10}匹配10位数字(等价于[0-9]{10}),\|转义匹配竖线|(避免被正则当作逻辑或运算符)
  • {1,30}:限制上述匹配单元出现1到30次,满足最少1组、最多30组的要求
  • $:锁定字符串结尾,避免后置多余字符

匹配验证

有效案例

  • 1234567890|(单组合法格式)
  • 1234567890|1234567890|(两组合法格式)
  • 连续30组1234567890|拼接的字符串

无效案例(会被正则排除)

  • 数字不足10位:123456(无竖线且位数不够)
  • 仅10位数字无竖线:1234567890(缺少结尾的|)
  • 含位数不足10位的组:1234567890|12345(第二组仅5位数字且无竖线)
  • 超过30组:31组1234567890|拼接的字符串

原正则问题分析

你之前使用的^([0-9]{10})+((-([0-9]{10})+)+)$存在以下问题:

  1. 用-作为组分隔符,不符合需求中用|连接的要求
  2. 未强制每组以|结尾,允许无竖线的10位数字存在
  3. 未限制组的数量范围,既没有上限也未明确最少1组的规则

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 14:55:20