正则表达式匹配7个数字,除了第4个之外都是相同的

时间:2018-03-08 07:36:51

标签: regex

我需要一个检查以下内容的正则表达式:

具有7位数字的数字,格式如下:xxxyxxx

示例:1112111 - >匹配,1111111 - >不匹配

2 个答案:

答案 0 :(得分:2)

尝试这样: ^(\d)\1{2}(?!\1)\d\1{3}$

这将捕获捕获组^中字符串(\d)\1{2}开头的第一个数字,并重复该组2次。然后对于第4个使用否定前瞻(?!\1)来检查是否不相同。

然后匹配一个数字并重复捕获组3次\1{3},直到字符串$结束。

答案 1 :(得分:1)

这可以使用反向引用:

(\d)\1\1[^\1]\1\1\1

此处\1指的是第一个捕获的数字,除了第四个数字外,它应与所有其他七个数字匹配。

Demo

我说“可能”,因为这取决于您的工具/语言是否支持反向引用。