Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 

Expresión regular

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Básico
Mensaje Mar May 27, 2008 2:01 pm
mapelo
Perlero Nuevo
Perlero Nuevo
Registrado: 27 May 2008
Mensajes: 2
Expresión regular Responder citando

Buenas a todos.

Estoy buscando una expresión regular y me estoy volviendo loco.

Quiero hacer una búsqueda y reemplazo de todas las ocurrencias de un patrón, pero no logro encontrar ese patrón. Vamos a ver, busco coincidencias con: un espacio en blanco seguido de algo que no sea un paréntesis (para abrir o cerrar) o bien un espacio en blanco seguido de una palabra que no puede ser ni la palabra1 ni la palabra2.

Por ejemplo: si las palabras son SOL y PAN, y quiero reemplazar las que no sean ni una ni otra por COCHE, entonces la cadena "juan SOL mar PAN perro" encontraría coincidencias y obtendría con el reemplazo
"COCHE SOL COCHE PAN COCHE".

¿Alguien me ayuda?

Saludos a todos
Mensaje Mar May 27, 2008 2:03 pm
mapelo
Perlero Nuevo
Perlero Nuevo
Registrado: 27 May 2008
Mensajes: 2
Correccion Responder citando

Perdón, la cadena sobre la que quiero buscar comienza con un espacio en blanco.

Saludos de nuevo
Mensaje Mar May 27, 2008 3:48 pm
explorer
Moderador
Moderador
Registrado: 24 Jul 2005
Mensajes: 4142
Ubicación: Valladolid, España
Responder citando

Creo que es esta:
Perl:
perl -le '$x="juan SOL mar PAN perro"; $x =~ s/(\w+)/($1 ne "SOL" and $1 ne "PAN")?"COCHE":$1/ge; print $x'
Publicar nuevo tema   Responder al tema    Foros de discusión -> Básico Todas las horas son GMT - 6 Horas
Página 1 de 1



Powered by phpBB © 2001, 2005 phpBB Group