【发布时间】:2018-03-22 11:07:21
【问题描述】:
我有一组数字,这里有 ID 号。中心数字-01- 必须与01,21,22,23,24,02 匹配。目前,它只接受 2 位数的任何值。它只需要接受这组数字01,21,22,23,24,02。有什么想法吗?
[0-9]{2}(([0-0]{1}[1-9]{1})|([1-1]{1}[0-2]{1}))(([0-0]{1}[1-9]{1})|([1-2]{1}[0-9]{1})|[3-3]{1}[0-1]{1})-[01|21|23|24|01]{2}-[0-9]{4}
身份证格式
880101-01-5332
这是我的示例正则表达式的链接:https://regex101.com/r/GYJ6by/2
【问题讨论】:
-
你试试
^[0-9]{6}-(01|21|22|23|24|02)-[0-9]{4}$ -
[01|21|23|24|01]是一个字符类,它“匹配列表中的单个字符01|234”,所以0、1、|,2、3或4,两个字符长,如 RegEx101 本身所解释的。您还遗漏了两个数字并重复了一个。所以你想要的是(?:01|02|21|22|23|24),没有{2}。 -
@Xufox 感谢您的解释。它现在正在工作
标签: regex regex-group