Usando expressões regulares, existem duas operações fundamentais que parecem semelhantes, mas têm diferenças significativas. ore.match() verifica se há uma correspondência apenas no início da string, enquanto re.search()verifica se há uma correspondência em qualquer lugar da string. Isso desempenha um papel importante no processamento de texto, pois muitas vezes temos que escrever a expressão regular correta para recuperar o pedaço de texto para análise sentimental como exemplo.
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"
Quando executamos o programa acima, obtemos a seguinte saída -
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