![]() |
Consulta Expresion Regular Hola, quería saber si alguien me puede ayudar con la siguiente duda: Tengo un string el cual puede ser por ejemplo: "la casa del casamiento es linda. La CASA se ve de lejos". Ando necesitando reemplazar el término(aunque aparezca en mayúsculas o minúsculas) "casa" por "xxxx". Es decir, la expresión debería quedar: "la xxxx del xxxxmiento es linda. La xxxx se ve de lejos". Logré reemplazar "casa", pero al querer reemplazar las otras 2 apariciones, me falla o bien cambia por ejemplo "casamiento" por "xxxx". Me podrían ayudar?. Gracias!. |
Re: Consulta Expresion Regular Prueba con ésto, a mí me ha funcionado: Código: #!/usr/bin/perl |
Re: Consulta Expresion Regular Si!, a mi también, muchas gracias!. |
Re: Consulta Expresion Regular Disculpen, nueva consulta... Por que no es posible hacer lo siguiente?: Supongamos que: $busca = 'CASA'; $param = 'LA CASA DEL ARBOL ESTA MANCHADA DE PINTURA'; $param =~ s/$busca/\$\{busca\}/gi; $busca = 'CAJA'; print $param; Cuando imprimo, en lugar de mostrarme: "LA CAJA DEL ARBOL ESTA MANCHADA DE PINTURA", me muestra el cambio literal de la expresion: "LA ${busca} DEL ARBOL ESTA MANCHADA DE PINTURA". Se puede lograr esta funcionalidad con expresiones regulares?. Saludos y perdon por las molestias. |
Re: Consulta Expresion Regular Te sustituye "${busca}" en el resultado porque le has puesto una barra invertida delante del $. ¿ Que quieres hacer ¿ Cambiar CASA por CAJA, usando variables ? En ese caso creo que es: $origen = 'CASA'; $destino = 'CAJA'; $frase = 'LA CASA DEL ARBOL ESTA MANCHADA DE PINTURA'; $frase =~ s/$origen/$destino/gi; |
Re: Consulta Expresion Regular Hola, nono, ese no sería el caso. Lo que me sucede en concreto es lo siguiente: Yo tengo un array con por ejemplo 2 elementos: @v = ['casa','color']; $frase = 'La casa de color azul'; y cuando lo recorro, hago el siguiente reemplazo: foreach $param (@v) { $frase =~ s/$param/<FONT COLOR="red">${param}<\/FONT>/gi; } El problema que me surgió, es que al tomar $param el valor 'color', me queda mal formada la frase, es decir: Al ser $param = 'casa' se hace lo siguiente: "La <FONT COLOR="red">casa</FONT> de color azul" Al pasar a ser 'color', me cambia de mas: "La <FONT <FONT COLOR="red">="red">casa</FONT> de <FONT COLOR="red">color<FONT COLOR="red"> azul" De esta manera, me rompe el tag de fuente que puse. |
Re: Consulta Expresion Regular Ah, ahora entiendo. Pues en este caso tienes suerte y es facil corregirlo ya que en un caso es en mayusculas y en otro en minusculas. Sólo tienes que quitar el modificador "i" (ignore case) que hay al final de la expresión regular. Otros casos pueden no ser tan fáciles y necesitas modificar la expresión regular, añadiendo espacios u otras cosas. |
Re: Consulta Expresion Regular Hola, gracias por la ayuda, entonces si quiero que cambie cuando es en mayusculas como minusculas debo hacer 2 expresiones regulares?. Saludos. |
Re: Consulta Expresion Regular A ver, si incluyes el modificador "i" (al final de la expresión regular) le indicas que considere igual mayúsculas y minúsculas. Si no incluyes dicho modificador, las mayusculas y las minúsculas las considerará letras diferentes. |
Re: Consulta Expresion Regular Pero si en el vector pongo: "COLOR" en lugar de "color", falla nuevamente. Saludos. |
Re: Consulta Expresion Regular Código: #!/usr/bin/perl |
| La zona horaria es GMT -6. Ahora son las 23:05. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.