El signo de más + en expresiones regulares en Python

Mientras que * significa «coincidir con cero o más«, el + (o más) significa «coincidir con uno o más». A diferencia del asterisco *, que no requiere que su grupo aparezca en la cadena coincidente, el grupo que precede al signo más debe aparecer al menos una vez. No es opcional. Introduzca lo siguiente en el intérprete de comandos interactivo, y compárelo con las regex del asterisco * del articulo anterior:

No olvide importar el modulo de regex:

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

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

>>> mo3 = batRegex.search('The Adventures of Batman')
>>> mo3 == None
True

El regex Bat(wo)+man no coincidirá con la cadena 'The Adventures of Batman', porque el signo más requiere al menos una wo.

Si necesita que coincida con un carácter de signo más real, anteponga al signo más una barra invertida para escaparlo: \+.

Deja una respuesta