Usando expresiones regulares, hay dos operaciones fundamentales que parecen similares pero tienen diferencias significativas. losre.match() busca una coincidencia solo al principio de la cadena, mientras que re.search()busca una coincidencia en cualquier parte de la cadena. Esto juega un papel importante en el procesamiento de texto, ya que a menudo tenemos que escribir la expresión regular correcta para recuperar el fragmento de texto para el análisis sentimental como ejemplo.
import re
if re.search("tor", "Tutorial"):
print "1. search result found anywhere in the string"
if re.match("Tut", "Tutorial"):
print "2. Match with beginning of string"
if not re.match("tor", "Tutorial"):
print "3. No match with match if not beginning"
# Search as Match
if not re.search("^tor", "Tutorial"):
print "4. search as match"
Cuando ejecutamos el programa anterior, obtenemos el siguiente resultado:
1. search result found anywhere in the string
2. Match with beginning of string
3. No match with match if not beginning
4. search as match