ฟังก์ชันนี้พยายามจับคู่นิพจน์ปกติ pattern กับ string พร้อม flags ทางเลือก
ไวยากรณ์ (Syntax)
นี่คือไวยากรณ์ของฟังก์ชันนี้:
re.match(pattern, string, flags=0)
คำอธิบายพารามิเตอร์:
| ลำดับ | พารามิเตอร์และคำอธิบาย |
|---|---|
| 1 | pattern นิพจน์ปกติที่จะจับคู่ |
| 2 | string สตริงที่จะค้นหาเพื่อจับคู่กับ pattern ที่ต้นทางของสตริง |
| 3 | flags คุณสามารถระบุแฟล็กต่างๆ โดยใช้ OR แบบบิต (|) นี่คือตัวปรับแต่งซึ่งแสดงในตารางด้านล่าง |
ฟังก์ชัน re.match คืนค่าอ็อบเจ็กต์ match เมื่อสำเร็จ None เมื่อล้มเหลว เราใช้ group(num) หรือ groups() ของอ็อบเจ็กต์ match เพื่อรับนิพจน์ที่จับคู่ได้
| ลำดับ | เมธอดอ็อบเจ็กต์ Match และคำอธิบาย |
|---|---|
| 1 | group(num=0) เมธอดนี้คืนค่าการจับคู่ทั้งหมด (หรือ subgroup เฉพาะ num) |
| 2 | groups() เมธอดนี้คืนค่ากลุ่มย่อยที่จับคู่ทั้งหมดในรูปทูเพิล (ว่างถ้าไม่มี) |
ตัวอย่าง
#!/usr/bin/python
import re
line = "Cats are smarter than dogs"
matchObj = re.match(r'(.*) are (.*?) .*', line, re.M|re.I)
if matchObj:
print "matchObj.group() : ", matchObj.group()
print "matchObj.group(1) : ", matchObj.group(1)
print "matchObj.group(2) : ", matchObj.group(2)
else:
print "No match!!"
ผลลัพธ์ (Output)
เมื่อรันโค้ดข้างต้น จะได้ผลลัพธ์ดังนี้:
matchObj.group() : Cats are smarter than dogs
matchObj.group(1) : Cats
matchObj.group(2) : smarter