Capturar grupos con expresiones regulares en Python

Haider Ali 10 octubre 2023
Capturar grupos con expresiones regulares en Python

Este tutorial demuestra cómo podemos capturar los grupos con la ayuda de expresiones regulares en Python. También aprenderemos sobre los grupos y cómo podemos capturarlos. Sumerjámonos.

Capturar grupos con expresiones regulares en Python

Un grupo es un metacarácter en un patrón de expresión regular encerrado entre paréntesis. Podemos construir un grupo teniendo el patrón regex dentro del par de paréntesis (). Por ejemplo, las letras c, a y t se combinan en un solo grupo por la frase regular (gato).

Por ejemplo, es posible que desee registrar números de teléfono y correos electrónicos en un escenario del mundo real. Como resultado, debe crear dos grupos, el primero buscará correos electrónicos y el segundo buscará números de teléfono.

Además, podemos capturar grupos para tratar un conjunto de caracteres como una sola entidad. Se hacen agregando paréntesis alrededor de los caracteres que se deben agrupar.

Podemos especificar tantos grupos como queramos. Por ejemplo, podemos registrar un grupo de cada subpatrón en un par de paréntesis. Los números entre paréntesis de apertura de los grupos de captura se cuentan de izquierda a derecha.

La capacidad de coincidencia de expresiones regulares de capturar grupos nos permite consultar el objeto coincidencia para determinar la parte del texto que coincidió con un componente de expresión regular en particular.

Lo que está encerrado entre paréntesis () es un grupo de captura. El valor coincidente de cada grupo se puede extraer utilizando el método group(group number) del objeto regex match.

Primero, debe instalar regex en su directorio de python usando el siguiente comando.

pip install regex

Mire el siguiente código para aprender cómo podemos capturar grupos con expresiones regulares en Python.

import re

date = "09/03/2022"
pattern = re.compile("(\d{2})\/(\d{2})\/(\d{4})")
match = pattern.match(date)

print("start")
print(match)
print(match.groups())

# group 0 : matches whole expression
print(match.group(0))

# group 1: match 1st group
print(match.group(1))

# group 2: match 2nd group
print(match.group(2))

# group 3: match 3rd group
print(match.group(3))

La salida es la siguiente:

start
<re.Match object; span=(0, 10), match='09/03/2022'>
('09', '03', '2022')
09/03/2022
09
03
2022

Como puede ver, podemos capturar cada grupo utilizando su valor de índice.

Autor: Haider Ali
Haider Ali avatar Haider Ali avatar

Haider specializes in technical writing. He has a solid background in computer science that allows him to create engaging, original, and compelling technical tutorials. In his free time, he enjoys adding new skills to his repertoire and watching Netflix.

LinkedIn

Artículo relacionado - Python Regex