Las llaves {} en las expresiones regulares en Python

Si tiene un grupo que quiere repetir un número específico de veces, siga el grupo en su regex con un número entre llaves. Por ejemplo, la expresión regular (Ha){3} coincidirá con la cadena 'HaHaHa', pero no coincidirá con 'HaHa', ya que esta última sólo tiene dos repeticiones del grupo (Ha).

En lugar de un número, puede especificar un rango escribiendo un mínimo, una coma y un máximo entre las llaves. Por ejemplo, el regex (Ha){3,5} coincidirá con 'HaHaHa', 'HaHaHaHa' y 'HaHaHaHaHa'.

También puede omitir el primer o el segundo número de las llaves para dejar el mínimo o el máximo sin delimitar. Por ejemplo, (Ha){3,} coincidirá con tres o más instancias del grupo (Ha), mientras que (Ha){,5} coincidirá con cero a cinco instancias. Las llaves pueden ayudar a acortar las expresiones regulares. Estas dos expresiones regulares coinciden con patrones idénticos:

(Ha){3}
(Ha)(Ha)(Ha)

Y estas dos expresiones regulares también coinciden con patrones idénticos:

(Ha){3,5}
((Ha)(Ha)(Ha))|((Ha)(Ha)(Ha)(Ha))|((Ha)(Ha)(Ha)(Ha)(Ha))

Introduzca lo siguiente en el shell interactivo:

>>> haRegex = re.compile(r'(Ha){3}')
>>> mo1 = haRegex.search('HaHaHa')
>>> mo1.group()
'HaHaHa'

>>> mo2 = haRegex.search('Ha')
>>> mo2 == None
True

Aquí, (Ha){3} coincide con 'HaHaHa' pero no con 'Ha'. Como no coincide con 'Ha', search() devuelve None.

Deja una respuesta