Barra vertical | expresiones regulares Comparación grupos

El carácter | barra vertical. Puede utilizarlo en cualquier lugar en el que quiera hacer coincidir una de varias expresiones. Por ejemplo, la expresión regular r'Batman|Tina Fey' coincidirá con 'Batman' o 'Tina Fey'.

Cuando tanto Batman como Tina Fey aparecen en la cadena buscada, la primera ocurrencia del texto coincidente será devuelta como el objeto Match. Introduzca lo siguiente en el shell interactivo:

>>> heroRegex = re.compile (r'Batman|Tina Fey')
>>> mo1 = heroRegex.search('Batman and Tina Fey')
>>> mo1.group()
'Batman'

>>> mo2 = heroRegex.search('Tina Fey and Batman')
>>> mo2.group()
'Tina Fey'

También puede utilizar la barrar invertida para hacer coincidir uno de varios patrones como parte de su regex. Por ejemplo, digamos que quiere coincidir con cualquiera de las cadenas ‘Batman’, ‘Batmobile’, ‘Batcopter’, y ‘Batbat’. Como todas estas cadenas empiezan por Bat, sería bueno que pudiera especificar ese prefijo sólo una vez. Esto se puede hacer con paréntesis. Introduzca lo siguiente en el shell interactivo:

>>> batRegex = re.compile(r'Bat(man|mobile|copter|bat)')
>>> mo = batRegex.search('Batmobile lost a wheel')
>>> mo.group()
'Batmobile'
>>> mo.group(1)
'mobile'

La llamada al método mo.group() devuelve el texto completo 'Batmobile', mientras que mo.group(1) devuelve sólo la parte del texto coincidente dentro del primer grupo de paréntesis, 'mobile'. Al utilizar la barra vertical y los paréntesis de agrupación, puede especificar varios patrones alternativos con los que desea que coincida su regex.

Si necesita coincidir con un carácter de barra vertical, escápelo con una barra invertida, como \|.

Deja una respuesta