2010-09-25 63 views
9

Tengo una cadena en php como este.expresión regular de Php caracteres repetidos

$ cadena = "ABCCCDE" // contiene repitió carácter CCC más de 2 veces

me gustaría saber si hay alguna caracteres repetidos más de 2 veces usando expresiones regulares.

Gracias de antemano

+2

secuencia consecutiva? – Gumbo

Respuesta

18
if (preg_match('/(.)\\1{2}/', $str)) 
    echo "Has 3 same characters consecutively!"; 

El (.) coincidirá con cualquier carácter (excepto nuevas líneas), y la \1 coincidirá con un patrón igual que el primer grupo de referencia - en este caso, el personaje que acabamos de emparejado Entonces este RegEx coincidirá con 3 mismos caracteres consecutivos.

+0

Devuelve 1 cuando hay una cadena "abccde". Debería devolver 1 solo hay un carácter repetido más de 2 veces – Novice

+0

@Shahid: Ya no. – kennytm

3

Se puede utilizar:

'/(.)\1\1/' 

ej .:

preg_match('/(.)\1\1/', $str, $matches); 
Cuestiones relacionadas