Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ฟังก์ชั่นการค้นหาใน Python


ฟังก์ชันนี้จะค้นหารูปแบบ 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