¿Cómo puedo detectar con un regex expression
si la misma consonante se repite tres veces o más?expresión regex para que coincida con la consonante
Mi idea es hacer coincidir las palabras como tttool
o likkke
o likkkkke
¿Cómo puedo detectar con un regex expression
si la misma consonante se repite tres veces o más?expresión regex para que coincida con la consonante
Mi idea es hacer coincidir las palabras como tttool
o likkke
o likkkkke
Puede haber atajos en algunas librerías de expresiones regulares, pero siempre se puede ...
b{3,}|c{3,}|d{3,}...
Algunas bibliotecas por ejemplo permiten hacer coincidir el uso una referencia posterior que puede ser un poco más limpia ...
(bcd...)\1{2,}
Puede usar grupos de captura con referencias retrospectivas es. Esto capturará símbolos que se repiten:
/(
([\w]) ## second group is just one symbol
\2 ## match symbol found in second groups
\2+ ## match same symbol one or more times
)/x ## x is just to allow inner comments
Pero no todos los motores regexp admiten referencias anteriores.
Prueba esto:
([b-df-hj-np-tv-z])\1{2,}
Explicación:
[b-df-hj-np-tv-z]
son todas las consonantes\1
es la referencia de nuevo a la primera de grupo (es decir, el carácter misma){2,}
significa "2 o más del término anterior", haciendo 3 o más e en todosProbado y esto funciona.
"http" o "tipo" están atrapados – user455318
Como Andrew White señaló a continuación; ¿No coincidirá esto con "bcd"? – Mikey
Ahora no coincidirá con "bbb", necesita "bbbb" ya que el primero se corresponde y luego la referencia de atrás debe coincidir 3 veces más. –
Esto se trata de la expresión regular más corto que podría pensar en hacerlo:
(?i)([b-z&&[^eiou]])\1\1+
Este utiliza una clase de caracteres de expresiones regulares resta a excluye las vocales.
No tuve que mencionar "a" porque comencé el rango desde "b".
El uso de (?i)
hace que la caja de expresiones regulares sea insensible.
Ver a live demo.
La expresión regular de respuesta más alta [b-df-hj-np-tv-z])\1{2,}
tiene un error ("Y" es fogotten)
Debe ser [b-df-hj-np-tv-xz])\1{2,}
"Y" no fue olvidado, en ese caso es simplemente una consonante. – Apollo
La letra Y puede considerarse tanto una vocal como una consonante. [prueba de Oxford Dictionary] (https://en.oxforddictionaries.com/explore/is-the-letter-y-a-vowel-or-a-consonant) –
1 que va a funcionar. ¡un poco demasiado detallado para mi gusto! –
actualizado, pero puede depender de su lib ... –
+1 por ser el primero en responder esto :) – anubhava