อ็อบเจ็กต์ Match
อ็อบเจ็กต์ Match แสดงถึงอ็อบเจ็กต์ที่เก็บ
ข้อมูลเกี่ยวกับการจับคู่ด้วย Regular Expression
ในสตริง อ็อบเจ็กต์ Match สามารถได้รับมา
โดยใช้เมธอดต่อไปนี้: fullmatch,
match,
search.
สามารถดึงข้อมูลจากอ็อบเจ็กต์ Match ได้ โดยใช้เมธอดหลัก
เมธอดหลักที่ใช้กับอ็อบเจ็กต์ Match
| เมธอด | วัตถุประสงค์ |
|---|---|
group |
คืนค่า group ที่ 0 |
groups |
คืนค่าทูเพิลของ groups |
groupdict |
คืนค่าดิกชันนารีของ groups ที่มีชื่อ |
span |
คืนค่าดัชนีแรกและดัชนีสุดท้าย ในรูปทูเพิลของหนึ่ง group |
start |
คืนค่าดัชนีแรกในรูปทูเพิลของหนึ่ง group |
end |
คืนค่าดัชนีสุดท้ายในรูปทูเพิลของ หนึ่ง group |
ตัวอย่าง . อ็อบเจ็กต์ Match โดยไม่มีเมธอด
ลองใช้เมธอด match กับสตริงของเรา:
txt = '123 456 789'
res = re.match('\d+', txt)
print(res)
ผลลัพธ์จากการรันโค้ด:
<re.Match object; span=(0, 3), match='123'>
ตัวอย่าง . เมธอด group
คราวนี้ลองแสดง group ที่ 0
จากอ็อบเจ็กต์ Match ด้วยเมธอด group:
txt = '123 456 789'
res = re.match('\d+', txt)
print(res.group())
ผลลัพธ์จากการรันโค้ด:
'123'
ตัวอย่าง . เมธอด groups
ลองใช้เมธอด groups กับอ็อบเจ็กต์ที่ได้
เพื่อแสดงทูเพิลของ groups:
txt = '123 456 789'
res = re.match('(\d)(\d)', txt)
print(res.groups())
ผลลัพธ์จากการรันโค้ด:
('1', '2')
ตัวอย่าง . เมธอด groupdict
สำหรับการแสดงดิกชันนารีของ groups ที่มีชื่อ
สามารถใช้เมธอด groupdict ได้:
res = re.match('(?P<test1>\d)(?P<test2>\d)', txt)
print(res.groupdict())
ผลลัพธ์จากการรันโค้ด:
{'test1': '1', 'test2': '2'}
ตัวอย่าง . เมธอด span
ลองแสดงทูเพิลของดัชนีแรกและ
ดัชนีสุดท้ายของหนึ่ง group สำหรับ
สิ่งนี้เราใช้เมธอด span:
res = re.match('\d+', txt)
print(res.span())
หลังจากรันโค้ด คุณจะเห็นทูเพิล ที่ประกอบด้วยสองดัชนี แต่ขณะเดียวกัน โปรดทราบว่าค่าสุดท้ายจะมากกว่าดัชนีสุดท้ายอยู่หนึ่ง:
(0, 3)
ตัวอย่าง . เมธอด start และ end
เพื่อคืนค่าแต่ละดัชนีแยกกัน
สามารถใช้เมธอด start
และ end ได้:
res = re.match('\d+', txt)
print(res.start())
print(res.end())
ผลลัพธ์จากการรันโค้ด:
0
3