Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Reto: Filtrando letras en números telefónicos utilizando negaciones

11/29
Recursos

En el texto siguiente:
555658
56-58-11
56.58.11
56.78-98
65 09 87
76y87r98

Definir un patrón que haga match a todas las líneas excepto a la la última, la que tiene letras.

Es decir, seleccionar todas sin importar el caracter de separación, excepto cuando los números están separados entre sí por letras.

Aportes 481

Preguntas 9

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Jugando con la negación encontré que se puede hacer una doble negación que da evidentemente positivo, lo que significa que

[^\D]

Es lo mismo que…

\d

(\d{2}\W?){3}

Selcciona cada linea cuando se separen por un signo y no por una letra
\d+[^aA-zZ\n]{2,6}

\d+ Todos los digitos.
[^aA-zZ\n] Siguiente caracter No puede ser letra ni salto de linea
{2,6} Selecicon aplica en secciones de de minimo 2 digitos maximo 6

Mi solución me salió así:

\d{2,}[^a-z]+

Me gusta verlo así para utilizar los contadores y la negación que vimos previamente.

([\d]{2,2}[^\w]?){3,3}

Expresión Regular: (\d\d[^a-z\n]?){3,3}
Me parece que lo de los paréntesis no lo había comentado Beto en lo que vamos del curso, pero mi intención era agrupar así que lo probé con llaves, con corchetes y por último por paréntesis y estos últimos fueron los que funcionaron.

Mi solución:
(.*[\W])

Esta es mi respuesta

(\d{2,2}[^a-zA-Z\n]?){3,3}

Me funciona porque tambien me ignora el enter entre lineas.

Mi solución:

.+[^y,r]\d\d

https://regex101.com/r/9iVJA5/6/ esta pagina esta buena 😄

Mi solución:
.+\d[^.\w]

Listo

[0-9]*[^\w][\.\s\-]?

La respuesta al reto es: \d\d\W?\d\d\W?\d\d[\n]

Otra posible solución al reto

(\d{2}[^a-z]?){3}

Mi solución (\d{2,2}[^a-zA-Z]?){3,3}

La respuesta al reto es: (\d\d[^a-zA-Z]?){2}\d\d

mi solución , usando la \W para negar y diciendo que puede o no tener para que pueda hacer match con la primera linea

(\d{2,2}\W?){3,3}

(\d{2}\W?)\d.* sin importar el múltiplo del ultimo dígito 😃

\d{2}\W?\d{2}\W?\d{2}\n

Solución al reto

[0-9\ \.\-][^a-z]

\d\d+[\W]

Mi expresion regular quedó asi

(\d{2}\W?){3,3}
(\d{2,2}\W?){3}

\d{2}([\.\-\s]?\d{2}){2}

[0-9]{2,2}[^a-z]?[0-9]{2,2}[^a-z]?[0-9]{2,2}

Mis posibles soluciones

\d\d\W?\d\d\W?\d\d
[0-9]{2,6}[ \d.,-]+

Mi solución:

\d\d[-?.? ?]\d\d[-?.? ?]\d\d

mi respuesta:
\d\d[^a-z]?\d\d[^a-z]?\d\d

Buenas noches adjunto solución:

(\d{2,2}[\W]?){3,3}

(\d{2,2}[^\w]?){3,3}

(\d{2,2}[\W]*){1,2}(\d{2,2}[\W]*)

(\d{2,2}\W?){3}

la mejor solución segun lo enseñado hasta el momento según yo xD

explicit…
\d{2}[-. ]{0,1}[a-zA-Z]{0,0}\d{2}[-. ]{0,1}[a-zA-Z]{0,0}\d{2}[-. ]{0,1}[a-zA-Z]{0,0}

[^a-zA-Z]{6,8}\n

Quise hacerlo lo más simple posible.

<[^\D]*> 

Mi solución:

([\d]{2}?[^\w]?){3}

Puede ser así?

\d\d\D?\W\d\d\D?\W\d\d

Algo así podría ser

\d{0,}[\-., ][\w]\d+

mi aporte.

(\d{2,2}[\.\-\ ]?){3,3}

\d.+\W+

Reto:

\d{2,2}[\-\. ]?\d{2,2}[\-\. ]?\d{2,2}

Mi solución
(\d[^a-zA-Z]*){6,6}

Esta es mi solución a la que llegue (en mi caso tengo 5 pares de números):

<(\d{2,2}\W?){4,4}\d{2,2}> 

El puse que solo capture 4 pares y el ultimo par lo pongo de manera explicita, para que no me agarre el último espacio de la linea.

\d\d[^\w]?\d\d[^\w]?\d\d

\d{1,}[\W]

Hice esta solución
\d\d[^\w]?\d\d[^\w]?\d\d
Pero me ha gustado más la solución de Diego Alexander
(\d{2,2}\W?){3}
Con esto he aprendido bastante y tengo unos apuntes ufff

Ambas opciones compartidas funcionan para resolver “que haga match a todas las líneas excepto a la última, la que tiene letras.”

(\d{2,2}\W?){3}

(\d{1,}[^\w]?){6}

Gracias Totales por su valiosos aportes.

(\d{2,2}[^0-9a-zA-Z]?){3,3}

Aquí esta mi solución:

/ (\d{2,2}[\.\?\-? ]?){3} /g

(\d{2,2}[\W]?){5}

Mi solución :

\d\d\W?\d\d\W?\d\d

Mi solución

(\d{2,2}[\W]?){3}

Hice esta guiándome con algunos compañeros y con lo que sé del tema (casi no lo logro XD)

(\d\d*?[\W?]?){3}

Hola,
comparto mi solución

\d{2,}\W

Mi solucion (\d{2,2}[^a-zA-Z]?){3,3}

My solution:
(\d{2,2}[^yr]?){2,2}\d{2,2}[^\D]?

(\d{2,2}\W?){3} 

Mi solución:

(\d{2}[\^W\-\.\ ]?){3}

Hice una solución para el reto para encontrar tanto numeros de telefono de 6 a 10 digitos ya que en diferentes paises varia la cantida de digitos en numeros de telefono

esta solucion utilizando ^

(\d{2,3}[^a-zA-Z]?){3,4}\n

y utilizando \W

(\d{2,3}\W?){3,4}\n

(\d{2,2}\W?){3,3}

Mi solucion seria algo asi:

\d*[^\w]?[\.\- ]\d*
(\d{2}[^\w]?){5}

Apesar de lo larga me funciono: ([\d]{2,}[^\d\w\n]{1,}){1,}[\d-]{1,} el parentesis de gran ayuda.

(\d{1,}[.?\W])

Cualquier observación, bienvenida.

(\d\d[-.]?){3,3}

Incluyendo el numeral

(\d{2,2}[\-\.\ #][^\da-z]?){2,2}\d{2,2}

Mi aporte teniendo en cuenta los espacios

\d{2,2}[\-\.\ ][^\da-z]?\d{2,2}[\-\.\ ][^\da-z]?\d{2,2}

Y mirando los ejemplos de agruación

(\d{2,2}[\-\.\ ][^\da-z]?){2,2}\d{2,2}

Comparto mi solución 😃

^(\d{2}[^\w]?){3}$

Explicit is better than implicit.

(\d\d[^a-zA-z]?){3}

Tengo varias variantes de soluciones:
\d{2,2}[.-/\s]?\d{2,2}[.-/\s]?\d{2,2}[.-/\s]?
\d{2,2}[^\w]?\d{2,2}[^\w]?\d{2,2}[^\w]?
\d\d[^\w]?\d\d[^\w]?\d\d[^\w]?
(\d{2,2}\W?){3}
(\d{1,}[^\w]?){3}

Mis soluciones:

\d\d[^a-zA-z0-9]\d\d[^a-zA-z0-9]\d\d
\d\d\W\d\d\W\d\d
\d{2,2}\W\d{2,2}\W\d{2,2}

Esta es mi solution, nose que tal quedo

(\d{2,}[^\w])+\d{2,}

(\d{1,}[^\w]?){6}
aca seleccionamos los 6 bloques de digitos de 1 hasta cualquier cantidad (\d{1,}…){6} negando las letras sea cuales sea y la cantidad que sea(…[^\w]?)

solución tramposa (obtener todas las lineas que tengan salto de linea, la úlitma no tiene salto de linea sino fin de cadena)

.*\n

solución por negación

[^yt\n]{6,8}

solución acotada con rango

[15-9\.-]{6,8}

solución acotada explícita

[156789.-]{6,8}

Solución más genérica

(\d{2,2}\W?){3}

Mi solución fue esta
\d\d[^\w]?\d\d[^\w]?\d\d[^\w]?

mi solucion :3 [\d*\W]{10,14}\n

Solución:

(\d{2,2}[\W]*){3,3}

Otra posible solución:
(\d{2,2}[\W]?){3,3}

Sin negacion: (\d+[-. ]+){2,}\d+|\d{10,10}
Con negación: ([^\D]+[^0-9a-zA-Z]){2,}|[^\D]{10,10}

Mi solucion:

(\d\d\W?){3,3}

Mis soluciones:

\d\d[\W]?\d\d[\D]?\d\d

Ó

(\d\d[\W]?){3}

La solucion al reto en mi caso fue esta:

[\d]{2}[^a-z][\d]{2}[^a-z][\d]{2}

Mi solución 😄:

(\d\d\W?){3}
(\d{2})([^a-zA-Z\n])*(\d{2})

[0-9]*.[\W]

Mi solución 🎲🎲

(\d{2,2}[^yr]?){3}

[0-9]{2}([.-\s]?[0-9]{2}){2}

\d{2,3}[^y^r]+

\d{2,2}[^a-z]?\d{2,2}[^a-z]?\d{2,2}[^a-z]?\d{2,2}[^a-z]?\d{2,2}[^a-z]?

Hola!

Comparto mi solución al reto:

\d{2}[^a-z]+
  • \d{2}: Busca 2 coincidencias de caracteres numéricos.
  • [^a-z]: Donde el caracter consecutivo no se encuentre en el rango a-z
  • +: Busca 1 o más coincidencias del patrón anterior.

Saludos!

Me funcionó con esta expresión

(\d{2}[\-\.\W]){4}

Original:
\d\d[^yr]?\d\d[^yr]?\d\d
Mejorada:
(\d\d[^yr]?){3,3}

Dejo mi solución.
\d[.-\n]?\d[^yr]

yo tengo dos soluciones:
\d\d[^a-z]?\d\d[^a-z]?\d\d
\d\d\W?\d\d\W?\d\d

😄

\d*[^\w]?

Este es mi aporte, pero me señala el último par de números cuando esta separado por letras, ¿alguien sabe como quitar ese último par?

\d{2,6}[\W]