perl | Hoja de referencia de expresiones regulares

Regex o expresiones regulares son una parte importante de la programación de Perl . Se utiliza para buscar el patrón de texto especificado. En esto, un conjunto de caracteres juntos forman el patrón de búsqueda. También se conoce como expresión regular . Cuando el usuario aprende la expresión regular, es posible que sea necesario revisar rápidamente los conceptos que no usa con frecuencia. Entonces, para proporcionar esa facilidad, se crea una hoja de trucos de expresiones regulares que contiene las diferentes clases, personajes, modificadores, etc. que se usan en la expresión regular.

Clases de personajes

Las clases de caracteres se utilizan para hacer coincidir la string de caracteres. Estas clases permiten que el usuario coincida con cualquier rango de caracteres, que el usuario no conoce de antemano.

Clases Explicación
[a B C.] Incluye solo uno de los caracteres especificados, es decir, ‘a’, ‘b’, ‘c’ o ‘.’
[aj] Incluye todos los caracteres de la a a la j.
[Arizona] Incluye todos los caracteres en minúsculas de la a a la z.
[^az] Incluye todos los caracteres excepto a y z.
\w Incluye todos los caracteres como [az, AZ, 0-9]
\d Coincide con los dígitos como [0-9]
[ab][^cde] Coincide que los caracteres a y b no deben ir seguidos de c, d y e.
\s Coincide con [\f\t\n\r], es decir, avance de formulario, tabulador, nueva línea y retorno de carro.
\W Complemento de \w
\D Complemento de \d
\S Complemento de \s

Ejemplo:

# Perl program to demonstrate
# character class
    
# Actual String
$str = "45char";
    
# Prints match found if 
# its found in $str
# by using \w
if ($str =~ /[\w]/)
{
    print "Match Found\n";
}
    
# Prints match not found 
# if it is not found in $str
else
{
    print "Match Not Found\n";
}

Producción:

Match Found

anclas

Las anclas no coinciden con ningún carácter. En cambio, coinciden con una posición particular como antes, después o entre los personajes.

anclas Explicación
^ Coincide con el principio de la string.
ps Coincide al final de la string.
\b Coincide con el límite de palabra de la string de \w a \W.
\A Coincide con el principio de la string.
\Z Coincide al final de la string o antes de la nueva línea.
\z Coincide solo al final de la string.
\GRAMO Coincide en la posición especificada pos().
\pags{….} Clase de caracteres Unicode como IsLower, IsAlpha, etc.
\PAGS{….} Complemento de la clase de caracteres Unicode
[:clase:] Clases de caracteres POSIX como digit, lower, ascii, etc.

Ejemplo:

# Perl program to demonstrate
# use of anchors in regex
    
# Actual String
$str = "55";
    
# Prints match found if 
# its found in $str
# using Anchors / 
if ($str =~ /[[:alpha:]]/)
{
    print "Match Found\n";
}
    
# Prints match not found 
# if it is not found in $str
else
{
    print "Match Not Found\n";
}

Producción:

Match Not Found

Metacaracteres

Los metacaracteres se utilizan para hacer coincidir patrones en expresiones regulares de Perl. Todos los metacaracteres deben ser escapados .

Caracteres Explicación
^ Para comprobar el comienzo de la string.
ps Para comprobar el final de la string.
. Cualquier carácter excepto nueva línea.
* Coincide 0 o más veces.
+ Coincide 1 o más veces.
? Coincide 0 o más veces.
() Se utiliza para agrupar.
\ Úselo para comillas o caracteres especiales.
[] Se utiliza para el conjunto de caracteres.
{} Se utiliza como modificador de repetición.

cuantificadores

Se utilizan para comprobar los caracteres especiales. Hay tres tipos de cuantificadores.

  • ‘?’ Coincide con 0 o 1 aparición de carácter.
  • ‘+’ Coincide con 1 o más ocurrencias de carácter.
  • ‘*’ Coincide con 0 o más ocurrencias de carácter.
Uso de cuantificadores Explicación
¿a? Comprueba si ‘a’ ocurre 0 o 1 vez.
un+ Comprueba si ‘a’ ocurre 1 o más veces
a* Comprueba si ‘a’ ocurre 0 o más veces
un{2, 6} Comprueba si ‘a’ ocurre de 2 a 6 veces
un{2, } Comprueba si ‘a’ ocurre de 2 a infinitas veces
un{2} Comprueba si ‘a’ ocurre 2 veces.

Ejemplo:

# Perl program to demonstrate
# use of quantifiers in regex
    
# Actual String
$str = "color";
    
# Prints match found if 
# its found in $str
# using quantifier ?
if ($str =~ /colou?r/)
{
    print "Match Found\n";
}
    
# Prints match not found 
# if it is not found in $str
else
{
    print "Match Not Found\n";
}

Producción:

Match Found

Modificadores

Modificadores Explicación
\gramo Se utiliza para reemplazar todas las ocurrencias de string.
\gc Permite la búsqueda continua después de que falle la coincidencia \g.
\s Trata la string como una sola línea.
i Desactiva la sensibilidad de mayúsculas y minúsculas.
\X Ignora todos los espacios en blanco.
(?#texto) Se utiliza para añadir comentarios en el código.
(?:patrón) Se utiliza para hacer coincidir el patrón del grupo que no captura.
(?|patrón) Se utiliza para hacer coincidir el patrón de la prueba de rama.
(?=patrón) Se utiliza para la aserción positiva de mirar hacia adelante.
(?!patrón) Se utiliza para la aserción de anticipación negativa.
(<= patrón) Se utiliza para la mirada positiva detrás de la afirmación.
(<! patrón) Se utiliza para la mirada negativa detrás de la afirmación.

Modificadores de espacio en blanco

Modificadores Explicación
\t Se utiliza para insertar espacio de tabulación
\r Carácter de retorno de carro
\norte Se utiliza para insertar una nueva línea.
\h Se utiliza para insertar espacios en blanco horizontales.
\v Se utiliza para insertar espacios en blanco verticales.
\L Se utiliza para caracteres en minúsculas.
\U Se utiliza para caracteres en mayúsculas.

Cuantificadores – Modificadores

Máximo Mínimo Explicación
? ?? Puede ocurrir 0 o 1 vez
+ +? Puede ocurrir 1 o más veces.
* *? Puede ocurrir 0 o más veces.
{3} {3}? Debe coincidir exactamente 3 veces.
{3, } {3,}? Debe coincidir al menos 3 veces.
{3, 7} {3, 7}? Debe coincidir al menos 3 veces pero no más de 7 veces.

Agrupación y captura

Dentro de la expresión regular, estos grupos son referidos por ‘\1’ y fuera de la expresión regular, estos grupos son referidos por ‘$1’. Estos grupos se pueden obtener mediante la asignación de variables en el contexto de la lista, lo que se conoce como captura . La construcción de agrupación (…) crea grupos de captura conocidos como buffers de captura .

(…) Estos se utilizan para agrupar y capturar.
\1, \2, \3 Durante la coincidencia de expresiones regulares, se utilizan para capturar búferes.
$1, $2, $3 Durante el emparejamiento exitoso, estos se utilizan para capturar variables.
(?:…) Estos se usan para agrupar sin capturar (estos no establecen este $1 ni \ 1)

Publicación traducida automáticamente

Artículo escrito por vaishali bhatia 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 *