Título: [python] expresión regular con or | Publicado por: Kase en 15 Enero 2012, 10:08 am necesito ayuda con esta exprecion...
exprecion = re.compile ( '\[palabra: ?(\'|")([- a-zA-Z0-9]*)(\'|") ? \]' ) lo que hace es buscar la cadena [palabra: 'valor'] puedo hacer esto. valores = exprecion.search( "lalalalala [palabra: 'no tengo idea']") y en valores.group(0) = [palabra: 'no tengo idea'] valores.group(1) = ' valores.group(2) = no tengo idea valores.group(3) = ' mi problema es que no quiero group(1) y group(3) necesito eliminar el ('|") de la exprecion regular.. que busca ' o ¨ pero no necesito eliminar el "or" osea el '|" si le quito los parentesis la exprecion no funciona... exite algun caracter similar a los () pero que solo sirva para delimitar y no para indicar que quiero optener ese valor? se que puedo hacer esto otro: exprecion = re.compile ( '\[palabra: ?(\'|")(?P<valor>[- a-zA-Z0-9]*)(\'|") ? \]' ) y entonces poder hacer: valor.group('valor') = no tengo idea ... el motivo de mi pregunta es conocer si existe algun caracter similar al los ( ) pero que solo sirvan para delimitar PD: [- a-zA-Z0-9]* me refiero a que pueda tener cualquier caracter entre a-z, A-Z , 0 - 9 , "-" y " " (espacios en blanco) enrrealidad tambien necesito que tenga acentos y ñ pero no tengo idea como simplificar [-áéíóúÁÉÍÓÚñÑ¿?!¡()* a-zA-Z0-9]* o en otras palabras un \w* que excluya [ ] y que no confunda el ultimo ' o " :-\ Título: Re: [python] exprecion regular con or | Publicado por: SirLanceCC en 16 Enero 2012, 20:49 pm Tomado de http://docs.python.org/library/re.html (http://docs.python.org/library/re.html)
Citar (?:...) A non-capturing version of regular parentheses. Matches whatever regular expression is inside the parentheses, but the substring matched by the group cannot be retrieved after performing a match or referenced later in the pattern. O podrías usar [AB] que coindidirá con un caracter, ya sea A o B, pero ningún otro. En tu caso usarías alo como ["']. Título: Re: [python] exprecion regular con or | Publicado por: Kase en 17 Enero 2012, 17:21 pm jajajaja...
aveces la respuesta es obvia y no la vemos :P gracias |