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