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, \*