Coincidencia de cero o más con el asterisco * expresiones regulares

El asterisco * en una expresión regular significa «coincidir con cero o más»: el grupo que precede a la estrella puede aparecer cualquier número de veces en el texto. Puede estar completamente ausente o repetirse una y otra vez. Veamos de nuevo el ejemplo de Batman :).

>>> import re
>>> batRegex = re.compile(r'Bat(wo)*man')
>>> mo1 = batRegex.search('The Adventures of Batman')
>>> mo1.group()
'Batman'

>>> mo2 = batRegex.search('The Adventures of Batwoman')
>>> mo2.group()
'Batwoman'

>>> mo3 = batRegex.search('The Adventures of Batwowowowoman')
>>> mo3.group()
'Batwowowowoman'

En el caso de 'Batman', la parte (wo)* del regex coincide con cero casos de wo en la cadena; en el caso de 'Batwoman', la parte (wo)* coincide con un caso de wo; y en el caso de 'Batwowowowoman', (wo)* coincide con cuatro casos de wo.

Si necesita coincidir o hacer uso con un carácter asterisco real, anteponga a la estrella en la expresión regular una barra invertida, \*

Deja una respuesta