我可以用吗
\d\d\d\d[^\d]
检查四个连续的数字?
例如,
411112 好的
455553 好的
1200003 好的
f44443 好的
g55553 好的
3333 确定
f4442 否
45553 无
f4444g4444 无
f44444444 否
我可以用吗
\d\d\d\d[^\d]
检查四个连续的数字?
例如,
411112 好的
455553 好的
1200003 好的
f44443 好的
g55553 好的
3333 确定
f4442 否
45553 无
f4444g4444 无
f44444444 否
如果你想在一个字符串中找到任何一系列的 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 中很难做到,因为你没有前向引用和后视之类的东西。
数字应该是字符串的一部分,还是只需要四个数字。在后一种情况下,正则表达式应该是^\d{4}$
. ^
标记字符串的开始,结束$
。这样可以确保只有四个数字是有效的,并且在此之前或之后都没有。
这应该匹配四个数字 ( \d\d\d\d
),后跟一个非数字字符 ( [^\d]
)。如果你只想匹配任何四位数字,你应该使用\d\d\d\d
or \d{4}
。如果要确保字符串仅包含四个连续数字,请使用^\d{4}$
. 将^
指示正则表达式引擎在字符串的开头开始匹配,而$
将指示正则表达式引擎在字符串的末尾停止匹配。