Tengo una lista de patrones exactos que deseo buscar en una cadena dada. Actualmente tengo una solución realmente mala para tal problema.Cómo hacer coincidir cadenas "múltiples" exactas en Python
pat1 = re.compile('foo.tralingString')
mat1 = pat1.match(mystring)
pat2 = re.compile('bar.trailingString')
mat2 = pat2.match(mystring)
if mat1 or mat2:
# Do whatever
pat = re.compile('[foo|bar].tralingString')
match = pat.match(mystring) # Doesn't work
La única condición es que tengo una lista de cadenas que deben coincidir exactamente. Cuál es la mejor solución posible en Python.
EDITAR: Los patrones de búsqueda tienen algunos patrones finales comunes.
En realidad, el problema es un poco más complicado. Mis patrones de búsqueda son como '1. foo.trailingString 2. bar.trailingString'. Intenté hacer '[foo | bar] .trailingString', pero eso falla. – Neo
@Neo: eso cambia la pregunta, ¿verdad? intente '(foo | bar) .trailingString' (aunque no estoy 100% seguro de la sintaxis de la expresión regular de Python) ... – ircmaxell
@ircmaxell: Python tiene una sintaxis similar a PCRE con solo algunas pequeñas diferencias, creo. – BoltClock