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