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

Hàm match trong Python

Hàm này cố gắng khớp mẫu biểu thức chính quy pattern với string kèm theo các flags tùy chọn.

Cú pháp

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

re.match(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.match trả về đối tượng match khi thành công, None khi thất bại. Chúng ta sử dụng 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)
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"
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!!"

Kết quả

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

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