Función re.MatchObject.groups() en Python – Regex

Este método devuelve una tupla de todos los subgrupos coincidentes.

Sintaxis: re.MatchObject.groups()

Retorno: una tupla de todos los subgrupos coincidentes

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

Considere el siguiente ejemplo:

Ejemplo 1:

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'(\d+)\-(\w+)\-(\w+)',
                        '498-ImperialCollege-London')
  
""" d in above pattern stands for numerical character
    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
    d+ will match a consecutive set of numerical characters
    """
  
# generating the tuple with all matched groups
detail_tuple = match_object.groups()
  
# printing the tuple
print(detail_tuple)

Producción:

('498', 'ImperialCollege', 'London')

Es hora de entender el programa anterior. Usamos un método re.match() para encontrar una coincidencia en la string dada (‘ 498-ImperialCollege-London ‘) 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. De manera similar , d+ coincidirá con un conjunto consecutivo de caracteres numéricos. 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 la variable match_object.

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'(\d+)\-(\w+)\-(\w+)', 
                        '1273984579846')
  
""" 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 AttributeError exception
print(match_object.groups())

Producción:

Traceback (most recent call last):
  File "/home/6510bd3e713a7b9a5629b30325c8a821.py", line 18, in 
    print(match_object.groups())
AttributeError: 'NoneType' object has no attribute 'groups'

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 *