re.matchdizenin başında sabitlenir. Bunun yeni satırlarla ilgisi yoktur, bu yüzden ^kalıpta kullanmakla aynı şey değildir .
As re.match belgelerine diyor ki:
Dizenin başındaki sıfır veya daha fazla karakter
normal ifade modeliyle eşleşiyorsa, ilgili MatchObjectörneği döndürün. İade Nonedize deseni aynı değilse; bunun sıfır uzunluklu eşleşmeden farklı olduğunu unutmayın.
Not: Bir eşleşmeyi dizede herhangi bir yerde bulmak istiyorsanız search()
bunun yerine kullanın.
re.searchbelgelerin dediği gibi tüm dizeyi arar :
Normal ifade deseninin eşleştiği bir konumu arayan dizeyi tarayın ve karşılık gelen bir MatchObjectörneği döndürün. Dizede Nonehiçbir konum kalıba uymuyorsa geri dönün ; bunun dizenin bir noktasında sıfır uzunluklu bir eşleşme bulmaktan farklı olduğunu unutmayın.
Bu nedenle, dizenin başında eşleşmeniz veya tüm dize kullanımını eşleştirmeniz gerekiyorsa match. Bu daha hızlı. Aksi takdirde kullanın search.
Dokümantasyon bir sahip için özel bölümüne matchvs.search ayrıca satırlı dizeleri kapsar:
Python, düzenli ifadelere dayalı iki farklı ilkel işlem sunar: yalnızca dizenin başındamatch bir eşleşme
olup olmadığını kontrol ederken , dizenin herhangi bir yerinde bir eşleşme olup olmadığını denetler
(Perl varsayılan olarak bunu yapar).search
Şununla başlayan normal bir ifade kullanıldığında bile matchfarklı olabileceğini unutmayın : yalnızca dizenin başlangıcında veya
bir satırsonunu hemen takip eden modda eşleşir. “ ” Operasyonu başarılı olarak yalnızca desen eşleşmeleri baştan dize
moda bakılmaksızın, veya opsiyonel tarafından verilen başlangıç pozisyonunda
bir satır önündeki olsun bunun bakılmaksızın argüman.search'^''^'MULTILINEmatchpos
Şimdi, yeterli konuşma. Bazı örnek kodları görme zamanı:
# example code:
string_with_newlines = """something
someotherthing"""
import re
print re.match('some', string_with_newlines) # matches
print re.match('someother',
string_with_newlines) # won't match
print re.match('^someother', string_with_newlines,
re.MULTILINE) # also won't match
print re.search('someother',
string_with_newlines) # finds something
print re.search('^someother', string_with_newlines,
re.MULTILINE) # also finds something
m = re.compile('thing$', re.MULTILINE)
print m.match(string_with_newlines) # no match
print m.match(string_with_newlines, pos=4) # matches
print m.search(string_with_newlines,
re.MULTILINE) # also matches