Match Nesnesi
Match nesnesi, bir dizede düzenli ifade
eşleşmeleri hakkında bilgi içeren bir nesneyi temsil eder. Match nesnesi aşağıdaki yöntemler uygulanarak elde edilebilir: fullmatch,
match,
search.
Match nesnesinden bilgi çıkarmak için temel yöntemler kullanılabilir.
Match nesnesine uygulanan temel yöntemler
| Yöntem | Amaç |
|---|---|
group |
Sıfırıncı grubu döndürür. |
groups |
Gruplardan oluşan bir demet döndürür. |
groupdict |
İsimlendirilmiş gruplardan oluşan bir sözlük döndürür. |
span |
Bir gruptan oluşan demetin ilk ve son indekslerini döndürür. |
start |
Bir gruptan oluşan demetin ilk indeksini döndürür. |
end |
Bir gruptan oluşan demetin son indeksini döndürür. |
Örnek . Yöntemsiz Match nesnesi
match yöntemini dizemize uygulayalım:
txt = '123 456 789'
res = re.match('\d+', txt)
print(res)
Kodun çalıştırma sonucu:
<re.Match object; span=(0, 3), match='123'>
Örnek . group yöntemi
Şimdi Match nesnesinden group yöntemiyle sıfırıncı grubu çıkaralım:
txt = '123 456 789'
res = re.match('\d+', txt)
print(res.group())
Kodun çalıştırma sonucu:
'123'
Örnek . groups yöntemi
Grup demetlerini çıkarmak için elde edilen nesneye groups yöntemini uygulayalım:
txt = '123 456 789'
res = re.match('(\d)(\d)', txt)
print(res.groups())
Kodun çalıştırma sonucu:
('1', '2')
Örnek . groupdict yöntemi
İsimlendirilmiş grupların sözlüğünü çıkarmak için groupdict yöntemi uygulanabilir:
res = re.match('(?P<test1>\d)(?P<test2>\d)', txt)
print(res.groupdict())
Kodun çalıştırma sonucu:
{'test1': '1', 'test2': '2'}
Örnek . span yöntemi
Bir demetin ilk ve son indekslerinden oluşan demeti çıkaralım. Bunun için span yöntemini kullanacağız:
res = re.match('\d+', txt)
print(res.span())
Kod çalıştıktan sonra iki indeksten oluşan bir demet göreceksiniz. Ancak dikkat edin, son değer bitiş indeksinden bir fazladır:
(0, 3)
Örnek . start ve end yöntemleri
İndekslerin her birini ayrı ayrı döndürmek için start ve end yöntemleri uygulanabilir:
res = re.match('\d+', txt)
print(res.start())
print(res.end())
Kodun çalıştırma sonucu:
0
3