Bienvenido a proyecto on line, en este lugar vas a encontrar la resolución a lo que estás buscando.
Solución:
Si desea encontrar cualquier serie de 4 dígitos en un string /dddd/
o /d4/
servirá. Si desea encontrar una serie de exactamente 4 dígitos, use /[^d]d4[^d]/
. Si el string simplemente debe contener 4 dígitos consecutivos /^d4$/
.
Editar: creo que quieres encontrar 4 de los mismos dígitos, necesitas una referencia inversa para eso. /(d)13/
es probablemente lo que estás buscando.
Edición 2: /(^|(.)(?!2))(d)33(?!3)/
solo coincidirá con cadenas con exactamente 4 de los mismos dígitos consecutivos.
El primer grupo coincide con el inicio de la string o cualquier personaje. Luego hay una anticipación negativa que usa el primer grupo para garantizar que los siguientes caracteres no coincidan con el primer carácter, si corresponde. El tercer grupo coincide con cualquier dígito, que luego se repite 3 veces con una referencia inversa al grupo 3. Finalmente, hay una búsqueda anticipada que asegura que el siguiente carácter no coincida con la serie de dígitos consecutivos.
Este tipo de cosas es difícil de hacer en javascript porque no tiene cosas como referencias hacia adelante y mirar hacia atrás.
Si los números son parte de un string, o quieres solo los cuatro números. En el último caso, la expresión regular debe ser ^d4$
. los ^
marca el comienzo de la string, $
el fin. Eso asegura que solo cuatro números sean válidos, y nada antes o después de eso.