elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 23:33  


Tema destacado: [AIO elhacker.NET] Compilación herramientas análisis y desinfección malware

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General (Moderador: Littlehorse)
| | |-+  [RETOS] Expresiones Regulares
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 3 Ir Abajo Respuesta Imprimir
Autor Tema: [RETOS] Expresiones Regulares  (Leído 2,470 veces)
criskapunk

Desconectado Desconectado

Mensajes: 255



Ver Perfil
[RETOS] Expresiones Regulares
« en: 23 Agosto 2011, 22:57 »

Buenas chicos, después de la aprobación de Nov, les traigo este post :P


Reglas: (Más que nada algunas recomendaciones para poder mantener el orden en el hilo).

  • Los retos se dividirán en tres niveles (Fácil - Medio - Difícil).
  • Podrá haber simultáneamente un máximo de UN reto de cada dificultad.
  • Cada reto tendrá una duración máxima de 12 horas. Pasado ese tiempo, si no se resuelve, se podrá publicar uno nuevo.
  • Una vez que el autor del reto de por válida una respuesta, deberá publicar la propia solución al desafío.
  • Se podrán publicar soluciones alternativas a retos antiguos, no hay problema con eso, la idea es practicar.

Acá les dejo el primero, si quieren pueden usar una plantilla similar a la siguiente:

Dificultad: 2 - Medio.
Reto: Realizar una expresión regular que valide nombres. Los mismos podrán ser simples o compuestos (Una o dos palabras). Unicamente podrán contener letras y las letras mayúsculas podrán aparecer sólo al principio de las palabras.

Cuando llego a casa publico la respuesta, que ya terminó mi horario laboral xD.

Un saludo y espero que les guste! :D


« Última modificación: 23 Agosto 2011, 23:00 por R0LFback » En línea
Darkgold9

Desconectado Desconectado

Mensajes: 63



Ver Perfil
Re: [RETOS] Expresiones Regulares
« Respuesta #1 en: 23 Agosto 2011, 23:39 »

Código:

([A-Z]?[a-záéíóú]*) | ([A-Z]?[a-záéíóú]*\S [A-Z]?[a-záéíóú]*)


Aqui sta mi propuesta.

Saludos


« Última modificación: 23 Agosto 2011, 23:42 por Darkgold9 » En línea
criskapunk

Desconectado Desconectado

Mensajes: 255



Ver Perfil
Re: [RETOS] Expresiones Regulares
« Respuesta #2 en: 24 Agosto 2011, 02:20 »

Yo la había pensado así:

Código:
^[a-zA-Z]?[a-z]+(\s[a-zA-Z]?[a-z]+)?

Pero por ejemplo, la mía no valida tildes y acepta como valido palabras de una sola letra. Voy a tener que ser más específico para la próxima :xD

@Darkgold9
Tu expresión (Según esta página) valida una única palabra solo si al final de la misma agregás un espacio. Además, no valida más de una palabra y toma como correcto escribir únicamente un espacio.

Un saludo y gracias por participar.

En línea
Shell Root


Desconectado Desconectado

Mensajes: 2.456


Alex Jurado


Ver Perfil WWW
Re: [RETOS] Expresiones Regulares
« Respuesta #3 en: 24 Agosto 2011, 02:38 »

Código
$sExpReg = '/^([a-záéíóúA-ZÁÉÍÓÚ]|(\s))*$/';

@R0LFback, para qué el operador ? en tu expresión?
En línea

---
criskapunk

Desconectado Desconectado

Mensajes: 255



Ver Perfil
Re: [RETOS] Expresiones Regulares
« Respuesta #4 en: 24 Agosto 2011, 02:58 »

@Shell Root:
Porque la segunda palabra puede o no estar. Te referís a ese o al ? del comienzo?

Tu expresión supera el límite de dos palabras :P Además acepta como válido solo espacios en blanco.

Un saludo.
En línea
Shell Root


Desconectado Desconectado

Mensajes: 2.456


Alex Jurado


Ver Perfil WWW
Re: [RETOS] Expresiones Regulares
« Respuesta #5 en: 24 Agosto 2011, 03:04 »

Hay nombres con espacios vacíos, -es mentiras, ajajjaja este no es mi fuerte-


La primera, se supone qué al usar [a-zA-Z] se puede ingresar una mayúscula o minúscula.
En línea

---
criskapunk

Desconectado Desconectado

Mensajes: 255



Ver Perfil
Re: [RETOS] Expresiones Regulares
« Respuesta #6 en: 24 Agosto 2011, 03:28 »

Jaja! Un nombre escrito en Whitespace

Lo del ? es por esto que puse en el primer post:

Citar
las letras mayúsculas podrán aparecer sólo al principio de las palabras

Pueden aparecer o no.

Un saludo.
En línea
Shell Root


Desconectado Desconectado

Mensajes: 2.456


Alex Jurado


Ver Perfil WWW
Re: [RETOS] Expresiones Regulares
« Respuesta #7 en: 24 Agosto 2011, 03:36 »

Al parecer no entiendes lo que te quiero decir, intetad ejecutar lo siguiente,

Código
^[a-zA-Z]+(\s[a-zA-Z]?[a-z]+)?
En línea

---
Valkyr


Desconectado Desconectado

Mensajes: 632


Divide y vencerás


Ver Perfil
Re: [RETOS] Expresiones Regulares
« Respuesta #8 en: 24 Agosto 2011, 04:10 »

Yo propondría esta:

Código:
[A-Z]?[a-z]+( [A-Z]?[a-z]+)?

Reconoce nombres que empiecen por mayúsculas y pueden tener uno o dos nombres, y además los que empiecen por minúsculas.

Saludos.
En línea

Shell Root


Desconectado Desconectado

Mensajes: 2.456


Alex Jurado


Ver Perfil WWW
Re: [RETOS] Expresiones Regulares
« Respuesta #9 en: 24 Agosto 2011, 04:36 »

@Valkyr, faltan las tildes, para nombres como Héctor.

Código
^[A-ÁÉÍÓÚa-záéíóúA]+( [A-ZÁÉÍÓÚa-záéíóúA]+)$
« Última modificación: 24 Agosto 2011, 04:42 por Shell Root » En línea

---
criskapunk

Desconectado Desconectado

Mensajes: 255



Ver Perfil
Re: [RETOS] Expresiones Regulares
« Respuesta #10 en: 24 Agosto 2011, 04:41 »

@Shell Root:
Esa expresión permite en la primer palabra que todas las letras sean mayúsculas. Solo pueden ir al principio de cada una.

@Valkyr:
Funciona perfecto :D Cumple con los requisitos que puse en el primer post. Te toca postear reto.

Un saludo.

En línea
Valkyr


Desconectado Desconectado

Mensajes: 632


Divide y vencerás


Ver Perfil
Re: [RETOS] Expresiones Regulares
« Respuesta #11 en: 24 Agosto 2011, 15:48 »

Shell Root, no puse tildes porque en el primer post no especificaba que los nombres pudiesen llevar tildes, sí quisiesemos que la expresión regular reconociese muchos más nombres habría que hacer exactamente lo que dices.

De acuerdo, pues yo propongo este:

Expresión regular para buscar cadenas que vayan entre comillas, sin  comillas dentro y que puedan ocupar varias líneas.

Tendría que reconocer las siguientes cadenas (las que están subrayadas):

Citar
" Hola señores" "Comillas comillas y comillas" " "

"Reto de expresiones

regulares
elhacker.net
"

Iré revisando las respuestas para ver qué proponeis. Yo ya tengo la mía hecha, cuando alguien proponga alguna que lo resuelva posteo la mia.

Saludos.
En línea

Darkgold9

Desconectado Desconectado

Mensajes: 63



Ver Perfil
Re: [RETOS] Expresiones Regulares
« Respuesta #12 en: 24 Agosto 2011, 16:05 »

Código:

(\"[^\"]*\")+


Aki va la mia

Saludos
En línea
criskapunk

Desconectado Desconectado

Mensajes: 255



Ver Perfil
Re: [RETOS] Expresiones Regulares
« Respuesta #13 en: 24 Agosto 2011, 16:10 »

Código:
^"[\w?\s?(\r\n)?]*"$

Edit: Me compliqué demasiado parece :xD No sabía que había que escapar las comillas, por eso no me funcionaba la expresión.

Un saludo.
« Última modificación: 24 Agosto 2011, 16:49 por R0LFback » En línea
Valkyr


Desconectado Desconectado

Mensajes: 632


Divide y vencerás


Ver Perfil
Re: [RETOS] Expresiones Regulares
« Respuesta #14 en: 24 Agosto 2011, 17:08 »

Darkgold9 la tuya funciona perfectamente, lo único que puedo poner de pega es que la barra de escape no es necesaria, sería necesaria si por ejemplo estuviésemos programando y al crear una cadena de texto esa cadena contuviese comillas dentro, pero para las expresiones regulares como tal, no es necesario, aún así funciona correctamente. Te paso el testigo y te toca reto xD.

R0LFback la que propones no es correcta. Me parece que sobran las ?, además, al colocar el paréntesis lo toma como el carácter que es, no como un conjunto. Tampoco reconoce los que están en varías líneas.

Saludos a todos.
En línea

Páginas: [1] 2 3 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Expresiones Regulares
Programación General
joseru18 0 278 Último mensaje 17 Agosto 2005, 04:12
por joseru18
Expresiones Regulares
Programación General
joseru18 0 230 Último mensaje 17 Agosto 2005, 04:12
por joseru18
Expresiones regulares
Programación Visual Basic
chrominum 1 489 Último mensaje 30 Enero 2008, 23:09
por LeandroA
¿Expresiones Regulares?
Programación General
Choclito 2 1,242 Último mensaje 4 Marzo 2010, 21:59
por BEATMASTER
Retos de Expresiones Regulares « 1 2 »
Ejercicios
~ Yoya ~ 17 6,417 Último mensaje 23 Marzo 2011, 02:26
por ~ Yoya ~
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines