El uso de $1 dentro una expresión regular
Dentro de una expresión regular es necesario
referirse a los textos que casan con el primer, paréntesis,
segundo, etc. como \1
, \2,
etc. La notación
$1
se refieré a lo que casó con el primer paréntesis
en el último matching, no en el actual. Veamos un ejemplo:
> cat dollar1slash1.pl
#!/usr/bin/perl
$a = "hola juanito";
$b = "adios anita";
$a =~ /(ani)/;
$b =~ s/(adios) *$1/\1 boni$1/;
print "$b\n";
> dollar1slash1.pl
adios boniadiosta
Observe como el $1
que aparece en la cadena de reemplazo se
refiere a la cadena que caso en este último casamiento (adios
).
Casiano Rodríguez León
Principios de Programación Imperativa, Funcional y Orientada a Objetos Una Introducción en Perl/Una Introducción a Perl
por Casiano Rodríguez León
is licensed under a Creative Commons Reconocimiento 3.0 Unported License.
Permissions beyond the scope of this license may be available at http://campusvirtual.ull.es/ocw/course/view.php?id=43.
2012-06-19