正则表达式检查连续4个数字

Oh *_*oon 5 regex

我可以用吗

\d\d\d\d[^\d]
Run Code Online (Sandbox Code Playgroud)

检查连续四个号码?

例如,

411112好的

455553好的

1200003好的

f44443好的

g55553好的

3333好的

f4442没有

45553没有

f4444g4444没有

f44444444没有

Daa*_*aan 13

如果你想在字符串中找到任何4位数的系列,/\d\d\d\d/或者/\d{4}/会这样做.如果要查找一系列正好4位数,请使用/[^\d]\d{4}[^\d]/.如果字符串应该只包含4个连续数字使用/^\d{4}$/.

编辑:我想你想找到4个相同的数字,你需要一个反向引用./(\d)\1{3}/可能就是你要找的东西.

编辑2:/(^|(.)(?!\2))(\d)\3{3}(?!\3)/仅匹配具有4个相同连续数字的字符串.

第一组匹配字符串的开头或任何字符.然后是使用第一组的负向前瞻,以确保后面的字符与第一个字符(如果有)不匹配.第三组匹配任何数字,然后重复3次,并反向引用第3组.最后有一个预测,确保后续字符与连续数字系列不匹配.

这种东西在javascript中很难做到,因为你没有像前向引用和后瞻这样的东西.

  • 顺便说一句,你是怎么想出这个正则表达式的,它看起来很复杂,你能解释一下吗?:P (2认同)