Este método devuelve un diccionario con el nombre del grupo como claves y la string coincidente como el valor de esa clave.
Sintaxis: re.MatchObject.groupdict()
Retorno: un diccionario con nombres de grupo como claves y una string coincidente como el valor de la clave.
AttributeError: si no se encuentra un patrón coincidente, genera AttributeError.
Considere el siguiente ejemplo:
Ejemplo 1:
Un programa para crear e imprimir un diccionario detallado que consistirá en el nombre de usuario, el sitio web y el dominio.
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'(?P<Username>\w+)@(?P<Website>\w+)\.(?P<Domain>\w+)', 'jon@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 The ?P<Username> in '()'(the round brackets) is used to capture subgroups of strings satisfying the above condition and the groupname is specified in the ''(angle brackets)in this case its Username.""" # generating a dictionary from the given emailID details = match_object.groupdict() # printing the dictionary print(details)
Producción:
{‘Nombre de usuario’: ‘jon’, ‘Sitio web’: ‘geekforgeeks’, ‘Dominio’: ‘org’}
Es hora de entender el programa anterior. Usamos un método re.match() para encontrar una coincidencia en la string dada (‘ jon@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. La sintaxis ‘ ?P ‘ se utiliza para definir el nombre de grupo para capturar los grupos específicos. El resultado que obtenemos es un re.MatchObject que se almacena en match_object.
Para saber más sobre los patrones de expresiones regulares, visite esta publicación. expresión regular de Python
Ejemplo 2: si no se encuentra un objeto coincidente, genera AttributeError.
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'(?P<Username>\w+)@(?P<Website>\w+)\.(?P<Domain>\w+)', '1234567890') """ 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 The ?P<Username> in '()'(the round brackets) is used to capture subgroups of strings satisfying the above condition and the groupname is specified in the ''(angle brackets)in this case its Username.""" # Following line will raise AttributeError exception print(match_object.groupdict())
Producción:
Traceback (most recent call last): File "/home/fae2ec2e63d04a63d590c2e93802a002.py", line 21, in print(match_object.groupdict()) AttributeError: 'NoneType' object has no attribute 'groupdict'
Publicación traducida automáticamente
Artículo escrito por haridarshanc y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA