Comunidad de diseño web y desarrollo en internet online

Expresiones regulares, no me aclaro

Citar            
MensajeEscrito el 27 Abr 2012 01:52 pm
Tengo un conjunto de lineas y quiero filtrarlas para obtener las que cumplan el siguiente patrón, cada uno de los puntos separados por el caracter "|"

Debe empezar por una "c", "p" o "r"
Después tiene que haber cuatro dígitos "1" o "0", es decir "1010", "1111", "0100" por ejemplo
Después un texto, conjunto de caracteres de longitud cualquiera, incluidodos puntos, números, etc.. (salvo el salto de linea, tabulador o "|" por enmedio del texto)
Después una dirección web
Y para acabar una de las siguientes "A", "B", "N", "O"

Un ejemplo sería:

c|0101|Este es mi texto con signos de puntuación. Números 1,2,3,4 y demás símbolos () : ; |http://Loquesea.com|A

Pero no consigo aclararme sacando el patrón de la expresión, lo que tengo por ahora es algo así:

^[pcr]\|[10]{4}\| --Aquí no se que poner-- \| --Aquí tampoco-- \|[ABNO]$

No se si lo que he escrito arriba esta bien o no, y no se como indicar que lo que debe seguir tenga cualquier caracter menos los expuestos arriba. ¿Tengo que poner algo como [a-zA-Z0-9()='?¡] añadiendo todo lo que puede aparacer? ¿Hay alguna manera más sencilla

Por Cagarnera

Claber

158 de clabLevel



 

firefox
Citar            
MensajeEscrito el 27 Abr 2012 02:39 pm
Como suele pasarme encuentro la solución al momento de postear mis dudas en este foro :lol: . Dejo aquí mi solución por si a alguien le sirve. He usado la herramienta online RegExr que permite ir viendo las lineas que coinciden con la expresión conforme la vamos escribiendo. Todo un descubrimiento.


Para este caso específico la expresión sería así:

^[cpr]\|[01]{4}\|[ao2]\|[^\|\n\t]{5,}\|Imagenes/.{1,}\.(jpg|png|JPG|PNG)\|[AONB]$

Olvidé comentar que la URL es la de una imagen. Se podría refinar bastante más, pero me ha servido para lo que necesitaba

Debe empezar por una "c", "p" o "r" ---> ^[cpr]
Después tiene que haber cuatro dígitos "1" o "0" ---> [01]{4}
Después un texto, conjunto de caracteres de longitud cualquiera salvo el salto de linea, tabulador o "|" ---> [^\|\n\t]{5,} (En este caso deben haber almenos 5 carácteres)
Después una dirección a una imagen dentro de una carpeta llamada Imagenes ---> Imagenes/.{1,}\.(jpg|png|JPG|PNG)
Y para acabar una de las siguientes "A", "B", "N", "O" ---> [AONB]$

Bueno, almenos espero que le sirva a alguien que pase por aquí y se tome el tiempo en leerlo

Por Cagarnera

Claber

158 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.