Objek Match
Objek Match mewakili objek dengan
maklumat tentang padanan dengan ungkapan biasa
dalam rentetan. Objek Match boleh diperoleh
dengan menggunakan kaedah berikut: fullmatch,
match,
search.
Maklumat boleh diekstrak dari objek match menggunakan kaedah utama.
Kaedah utama yang digunakan pada objek match
| Kaedah | Tujuan |
|---|---|
group |
Mengembalikan sifar poket. |
groups |
Mengembalikan tuple dari poket. |
groupdict |
Mengembalikan kamus dari poket bernama. |
span |
Mengembalikan indeks pertama dan terakhir tuple dari satu poket. |
start |
Mengembalikan indeks pertama tuple dari satu poket. |
end |
Mengembalikan indeks terakhir tuple dari satu poket. |
Contoh . Objek Match tanpa kaedah
Mari gunakan kaedah match pada
rentetan kami:
txt = '123 456 789'
res = re.match('\d+', txt)
print(res)
Keputusan pelaksanaan kod:
<re.Match object; span=(0, 3), match='123'>
Contoh . Kaedah group
Sekarang mari keluarkan sifar poket
dari Objek Match menggunakan kaedah group:
txt = '123 456 789'
res = re.match('\d+', txt)
print(res.group())
Keputusan pelaksanaan kod:
'123'
Contoh . Kaedah groups
Mari gunakan kaedah groups pada objek yang diperoleh
untuk mengeluarkan tuple
poket:
txt = '123 456 789'
res = re.match('(\d)(\d)', txt)
print(res.groups())
Keputusan pelaksanaan kod:
('1', '2')
Contoh . Kaedah groupdict
Untuk mengeluarkan kamus poket bernama
boleh gunakan kaedah groupdict:
res = re.match('(?P<test1>\d)(?P<test2>\d)', txt)
print(res.groupdict())
Keputusan pelaksanaan kod:
{'test1': '1', 'test2': '2'}
Contoh . Kaedah span
Mari keluarkan tuple dari indeks pertama dan
terakhir satu tuple. Untuk
ini kami menggunakan kaedah span:
res = re.match('\d+', txt)
print(res.span())
Selepas melaksanakan kod, anda akan melihat tuple, terdiri daripada dua indeks. Tetapi pada masa yang sama perhatikan bahawa nilai terakhir adalah satu lebih besar daripada indeks akhir:
(0, 3)
Contoh . Kaedah start dan end
Untuk mengembalikan setiap indeks
secara berasingan, boleh gunakan kaedah start
dan end:
res = re.match('\d+', txt)
print(res.start())
print(res.end())
Keputusan pelaksanaan kod:
0
3