Foro de elhacker.net

Programación => Programación General => Mensaje iniciado por: Eleкtro en 18 Agosto 2012, 18:54 pm



Título: Forma eficiente de resolver esta expresión regular
Publicado por: Eleкtro en 18 Agosto 2012, 18:54 pm
Hola amigos, Estoy usando una aplicación de terceros que soporta expresiones regulares, Y me encuentro con un pequeño problema, Espero que alguien pueda ayudarme xD

Pongamos como ejemplo esta frase: Fumar ' cagando 'Es Lo Mejor' XD

Pues necesito encontrar palabras que estén encasilladas entre dos comillas ( 'Es lo mejor' ), Y eliminar esas comillas, Dejando intactas el resto de comillas de la frase ( Fumar ' ).

Si pudiera analizar el principio y final de la palabra sería todo mucho más fácil:
Código:
\<
>\
Pero la aplicación no soporta "POSIX character classes", Así que solo puedo usar las expresiones regulares básicas, Ahí ya me han pillado :-(.

Bueno ¿A alguien cree que es posible hacerlo sin comerse la primera comilla de la frase?

Gracias


Título: Re: Forma eficiente de resolver esta expresión regular
Publicado por: sistemx en 19 Agosto 2012, 06:30 am
Si, si si.. hay un problema, 'genio' y ese es.

La comilla «'» es solo 1 caracter. si hubiera inicio o final como [<>,«»,(),{}] seria mas facil, pero aqui simplemente es el mismo. Yo tambien podria decir que en:
Fumar ' cagando 'Es Lo Mejor' XD
' cagando ' tambien podria calificar para lo que quieres, ya que el principio y el final es el mismo caracter, creo que simplemente no es posible.

Nota: Porque crees que en xml/html los tags terminan </asi>?

De todas maneras aqui hay un regex que te da el texto entre 2 delimitadores:
Código:
/PRINCIPIO(.*?)FINAL/
Sobra decir que remplaces "PRINCIPIO" y "FINAL" por los delimitadores...