perl | Operadores en expresiones regulares

Requisito previo: Perl | Expresiones regulares

La expresión regular es una string que es la combinación de diferentes caracteres que proporciona la coincidencia de las strings de texto. Una expresión regular también se puede denominar regex o regexp.
El método básico para aplicar una expresión regular es el uso de operadores vinculantes =~ (Operador Regex) y !~ (Operador Negated Regex).

Hay tres tipos de operadores de expresiones regulares en Perl:

  1. Hacer coincidir la expresión regular
  2. Sustituir (Buscar y reemplazar) Expresión regular
  3. Transliteración global de caracteres Expresión regular

1) Coincidencia de patrones o Coincidencia de expresión regular: el operador de coincidencia «m//» se utiliza para hacer coincidir una string o una declaración con una expresión regular. La barra diagonal utilizada en el operador ( m// ) actúa como delimitador y este delimitador también puede ser como m{}, m() y m><, etc. La expresión se escribe entre dos barras diagonales utilizadas en el operador.

Sintaxis: m/PATRÓN/

Aquí, PATRÓN es la expresión regular que se buscará en la string
. Veamos algunos ejemplos que ilustran la coincidencia de patrones:
En los ejemplos a continuación, una string y una expresión regular coinciden; si tiene éxito, devuelve «coincidencia encontrada»; de lo contrario, «coincidencia no encontrada».
Ejemplo 1:

#!/usr/bin/perl
  
# Initializing a string
$a = "GeeksforGeeks"; 
    
# matching the string and 
# a regular expression and returns
# match found or not
if ($a =~ m/for/)  
{ 
    print "Match Found\n"; 
} 
else 
{ 
    print "Match Not Found\n"; 
} 

Producción:

Match Found

Ejemplo 2:

#!/usr/bin/perl
  
# Initialising an string
$a = "GeeksforGeeks"; 
  
# matching the string and 
# a regular expression and returns
# match found or not
if ($a =~ m:abc:) 
{ 
    print "Match Found\n"; 
} 
else
{ 
    print "Match Not Found\n"; 
} 

Producción:

Match Not Found

Aquí, en el código anterior, se usa un delimitador diferente ‘:’ en lugar de ‘/’, esto muestra que no es necesario usar ‘/’ como delimitador.
 
2) Sustituir (buscar y reemplazar) expresión regular: el operador de sustitución “s///” se usa para buscar una palabra específica y luego reemplazarla con una expresión regular determinada. La barra diagonal utilizada en el operador ( s/// ) actúa como delimitador.

Sintaxis: s/PATRÓN/REEMPLAZO/;

Aquí PATRÓN es la expresión regular que se reemplazará con la expresión regular REEMPLAZO.

Veamos algunos ejemplos que ilustran la expresión regular sustituta:
En los siguientes ejemplos, primero se busca una palabra PATRÓN y luego se reemplaza con la palabra REEMPLAZO.
Ejemplo 1:

#/user/bin/perl
  
# Initialising a string
$string = "GeeksforGeeks is a computer science portal.";
  
# Calling the substitute regular expression
$string =~ s/GeeksforGeeks/gfg/;
$string =~ s/computer science/cs/;
  
# Printing the substituted string
print "$string\n";

Producción:

gfg is a cs portal.

Ejemplo-2:

#/user/bin/perl
  
# Initialising a string
$string = "10001";
  
# Calling the substitution regular expression
$string =~ s/000/999/;
  
# Printing the substituted string
print "$string\n";

Producción:

19991

 
3) Expresión regular de transliteración global de caracteres: el operador de traducción o transliteración “ tr/// ” o “ y/// ” se utiliza para reemplazar todas las ocurrencias de un carácter con un solo carácter dado. La barra diagonal utilizada en el operador ( tr/// e y/// ) actúa como delimitador.

Sintaxis:
tr/LISTA DE BÚSQUEDA/LISTA DE REEMPLAZO/
y/LISTA DE BÚSQUEDA/LISTA DE REEMPLAZO/

Aquí LISTA DE BÚSQUEDA es el carácter cuyas apariciones se van a reemplazar con el carácter en LISTA DE REEMPLAZO.

Veamos algunos ejemplos que ilustran la expresión regular de traducción:
En los siguientes ejemplos, todas las apariciones de «G» se reemplazan con «g» con dos operadores diferentes » tr/// » e » y/// «.
Ejemplo 1:

#/user/bin/perl
  
# Initialising a string
$string = 'GeeksforGeeks';
  
# Calling the tr/// operator
$string =~ tr/G/g/;
  
# Printing the replaced string
print "$string\n";

Producción:

geeksforgeeks

Ejemplo 2:

#/user/bin/perl
  
# Initialising a string
$string = 'GeeksforGeeks';
  
# Calling the y/// operator
$string =~ y/G/g/;
  
# Printing the replaced string
print "$string\n";

Producción:

geeksforgeeks

Publicación traducida automáticamente

Artículo escrito por Kanchan_Ray y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *