Saltar al contenido

python's re: devuelve True si string contiene un patrón de expresiones regulares

Melina, parte de este gran staff, nos hizo el favor de escribir este artículo ya que controla muy bien este tema.

Solución:

import re
word = 'fubar'
regexp = re.compile(r'ba[rzd]')
if regexp.search(word):
  print 'matched'

El mejor con diferencia es

bool(re.search('ba[rzd]', 'foobarrrr'))

Devuelve Verdadero

Match los objetos son siempre true, y None se devuelve si no hay ninguna coincidencia. Solo prueba de veracidad.

Código:

>>> st = 'bar'
>>> m = re.match(r"ba[r|z|d]",st)
>>> if m:
...     m.group(0)
...
'bar'

Salida = bar

Si quieres search funcionalidad

>>> st = "bar"
>>> m = re.search(r"ba[r|z|d]",st)
>>> if m is not None:
...     m.group(0)
...
'bar'

y si regexp no encontrado que

>>> st = "hello"
>>> m = re.search(r"ba[r|z|d]",st)
>>> if m:
...     m.group(0)
... else:
...   print "no match"
...
no match

Como mencionó @bukzor si st = foo bar que el partido no funcionará. Entonces, es más apropiado usar re.search.

Si te gustó nuestro trabajo, puedes dejar una noticia acerca de qué te ha impresionado de este tutorial.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada.