re Module cung cấp sự hỗ trợ đầy đủ các Perl-like Regular Expression trong Python. Module này tạo Exception là re.error nếu xảy ra một lỗi trong khi biên dịch hoặc khi sử dụng một Regular Expression.
Có hai hàm quan trọng sẽ được sử dụng để xử lý Regular Expression, đó là:
Hàm này cố gắng so khớp pattern với string với các flag tùy ý. Dưới đây là cú pháp cho hàm này.
re.match(pattern, string, flags=0)
Chi tiết về tham số:
Hàm re.match trả về một đối tượng match nếu thành công và trả về None nếu 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 đã được so khớp (kết nối).
import re line = "Hoc Python la de hon hoc Java?" matchObj = re.match( r'(.*) la (.*?) .*', 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 "Khong co ket noi!!"
Kết quả là:
matchObj.group() : Hoc Python la de hon hoc Java? matchObj.group(1) : Hoc Python matchObj.group(2) : de
Hàm này tìm kiếm cho sự xuất hiện đầu tiên của pattern bên trong string với các flags tùy ý. Dưới đây là cú pháp cho hàm search:
re.search(pattern, string, flags=0)
Các tham số được giải thích như trong hàm match.
Hàm re.search trả về một đối tượng match nếu thành công và trả về None nếu 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 đã được so khớp (kết nối). Các hàm này đã được trình bày ở trên.
import re line = "Hoc Python la de hon hoc Java?"; searchObj = re.search( r'(.*) la (.*?) .*', 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 "Khong tim thay!!"
Kết quả là:
searchObj.group() : Hoc Python la de hon hoc Java? searchObj.group(1) : Hoc Python searchObj.group(2) : de
Python cung cấp hai hoạt động cơ sở dựa trên Reguler Expression, đó là: match để kiểm tra chỉ một kết nối tại phần đầu của chuỗi, trong khi search tìm kiếm một kết nối ở bất cứ đâu trong chuỗi.
import re line = "Hoc Python la de hon hoc Java?"; matchObj = re.match( r'thon', line, re.M|re.I) if matchObj: print "match --> matchObj.group() : ", matchObj.group() else: print "Khong co ket noi!!" searchObj = re.search( r'thon', line, re.M|re.I) if searchObj: print "search --> searchObj.group() : ", searchObj.group() else: print "Khong tim thay!!"
Kết quả là:
Khong co ket noi!! search --> searchObj.group() : thon
» Tin mới nhất:
» Các tin khác: