Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Hàm search trong Python

Hàm này tìm kiếm lần xuất hiện đầu tiên của mẫu biểu thức chính quy pattern trong string với các flags tùy chọn.

Cú pháp

Cú pháp cho hàm này:

re.search(pattern, string, flags=0)

Mô tả các tham số:

STT Tham số & Mô tả
1 pattern
Đây là biểu thức chính quy cần khớp.
2 string
Đây là chuỗi sẽ được tìm kiếm để khớp mẫu ở đầu chuỗi.
3 flags
Bạn có thể chỉ định các cờ khác nhau sử dụng OR bitwise (|). Đây là các bộ chỉnh sửa, được liệt kê trong bảng dưới đây.

Hàm re.search trả về đối tượng match khi thành công, None khi thất bại. Chúng ta sử dụng hàm group(num) hoặc groups() của đối tượng match để lấy biểu thức khớp.

STT Phương thức đối tượng Match & Mô tả
1 group(num=0)
Trả về toàn bộ khớp ( hoặc nhóm con cụ thể num )
2 groups()
Trả về tất cả các nhóm con khớp trong một tuple (rỗng nếu không có)

Ví dụ

#!/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!!"

Kết quả

Khi mã trên được thực thi, nó cho kết quả sau:

searchObj.group() : Cats are smarter than dogs
searchObj.group(1) : Cats
searchObj.group(2) : smarter