我能用吗
\d\d\d\d[^\d]
字符串检查四个连续的数字吗比如说,好的:
455553
1200003
f44443
g55553
3333
否:
f4442
45553
f4444g4444
f44444444
ni65a41a1#
如果你想在一个字符串中找到任何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\d\d\d/
/\d{4}/
/[^\d]\d{4}[^\d]/
/^\d{4}$/
/(\d)\1{3}/
/(^|(.)(?!\2))(\d)\3{3}(?!\3)/
aemubtdh2#
数字是字符串的一部分,还是只需要四个数字。在后一种情况下,regexp应该是^\d{4}$。^标记字符串的开始,$标记字符串的结束。这可以确保,只有四个数字是有效的,在此之前或之后都没有。
^\d{4}$
^
$
yptwkmov3#
它应该匹配四个数字(\d\d\d\d),后跟一个非数字字符([^\d])。如果只想匹配任意四位数,则应使用\d\d\d\d或\d{4}。如果要确保字符串只包含四个连续的数字,请使用^\d{4}$。^将指示正则表达式引擎在字符串的开头开始匹配,而$将指示正则表达式引擎在字符串的结尾停止匹配。
\d\d\d\d
[^\d]
\d{4}
3条答案
按热度按时间ni65a41a1#
如果你想在一个字符串中找到任何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中很难做到,因为你没有向前引用和向后查找之类的东西。
aemubtdh2#
数字是字符串的一部分,还是只需要四个数字。在后一种情况下,regexp应该是
^\d{4}$
。^
标记字符串的开始,$
标记字符串的结束。这可以确保,只有四个数字是有效的,在此之前或之后都没有。yptwkmov3#
它应该匹配四个数字(
\d\d\d\d
),后跟一个非数字字符([^\d]
)。如果只想匹配任意四位数,则应使用\d\d\d\d
或\d{4}
。如果要确保字符串只包含四个连续的数字,请使用^\d{4}$
。^
将指示正则表达式引擎在字符串的开头开始匹配,而$
将指示正则表达式引擎在字符串的结尾停止匹配。