función re.MatchObject.group() en Python Regex

El método re.MatchObject.group() devuelve el subgrupo coincidente completo de forma predeterminada o una tupla de subgrupos coincidentes según la cantidad de argumentos

Sintaxis: re.MatchObject.group([grupo])

Parámetro:

  • grupo: (opcional) el valor predeterminado del grupo es cero (lo que significa que devolverá la string coincidente completa). Devuelve -1 si el grupo existe pero no contribuyó al partido.

Retorno: Coincidencia completa de forma predeterminada, de lo contrario, uno o más subgrupos coincidentes según los argumentos.

IndexError: si el número de grupo pasado como argumento es negativo o mayor que el número de grupos definido en el patrón de coincidencia, se generará una excepción de IndexError.

AttributeError: si no se encuentra un patrón coincidente, genera AttributeError.

Considere el siguiente ejemplo:

Ejemplo 1:

Un programa para imprimir el nombre de usuario, el nombre de la empresa y el dominio desde un ID de correo electrónico

Python3

import re
 
"""We create a re.MatchObject and store it in
   match_object variable
   the '()' parenthesis are used to define a
   specific group"""
 
match_object = re.match(r'(\w+)@(\w+)\.(\w+)', 'username@geekforgeeks.org')
 
""" w in above pattern stands for alphabetical character
    + is used to match a consecutive set of characters
    satisfying a given condition
    so w+ will match a consecutive set of alphabetical characters"""
 
# for entire match
print(match_object.group())
# also print(match_object.group(0)) can be used
 
# for the first parenthesized subgroup
print(match_object.group(1))
 
# for the second parenthesized subgroup
print(match_object.group(2))
 
# for the third parenthesized subgroup
print(match_object.group(3))
 
# for a tuple of all matched subgroups
print(match_object.group(1, 2, 3))

Producción:

username@geekforgeeks.org
username
geekforgeeks
org
('username', 'geekforgeeks', 'org')

Es hora de entender el programa anterior. Usamos un método re.match() para encontrar una coincidencia en la string dada(‘ nombredeusuario@geekforgeeks.org ‘) la ‘ w ‘ indica que estamos buscando un carácter alfabético y el ‘ + ‘ indica que estamos buscando caracteres alfabéticos continuos en la string dada. Tenga en cuenta que el uso de ‘ () ‘ el paréntesis se usa para definir diferentes subgrupos, en el ejemplo anterior, tenemos tres subgrupos en el patrón de coincidencia. El resultado que obtenemos es un re.MatchObject que se almacena en match_object.

Nota: para obtener más información sobre los patrones de expresiones regulares, consulte la expresión regular de Python 

Dependiendo de los argumentos pasados, el método de grupo nos devuelve diferentes strings y también devuelve una tupla de strings coincidentes.

Ejemplo 2:

Si pasamos un número de grupo no válido en el argumento del método, obtendremos una excepción IndexError.

Python3

import re
 
"""We create a re.MatchObject and store it in
   match_object variable
   the '()' parenthesis are used to define a
   specific group"""
 
match_object = re.match(r'(\w+)@(\w+)\.(\w+)', 'username@geekforgeeks.org')
 
""" w in above pattern stands for alphabetical character
    + is used to match a consecutive set of characters
    satisfying a given condition
    so w+ will match a consecutive set of alphabetical characters"""
 
# Following line will raise IndexError exception
print(match_object.group(7))

Producción:

Traceback (most recent call last):
  File "/home/8da42759204c98da7baa88422a4a74e0.py", line 17, in 
    print(match_object.group(7))
IndexError: no such group

Publicación traducida automáticamente

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