Show Đã đăng vào thg 11 27, 2017 9:57 SA 3 phút đọc 1. Regex là gì?Regular expression (Regex) là một chuỗi miêu tả một bộ các chuỗi khác, theo những quy tắc cú pháp nhất định. Bạn cũng có thể gọi Regex là một ngôn ngữ. Và hầu như ngôn ngữ lập trình nào cũng hỗ trợ Regular expression. 2. Regex trong Python.Regular Expression trong Python được thể hiện qua module re, re Module cung cấp sự hỗ trợ đầy đủ các 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. Để sử dụng re việc đầu tiên bạn cần phải import module re vào chương trình, sử dụng với cú pháp như sau:
3. Sử dụng Regex với search(), match(), split()3.1 re.match()
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. 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).
3.2 re.search()
Phương thức này thực hiện tìm kiếm chuỗi so khớp trên string và nó sẽ trả về các giá trị được so khớp. Trong đó:
3.4 re.split()
Trong đó:
3.3 Một số flag hay dùng trong Regular ExpressionI hay IGNORECASE - Không phân biệt hoa thường khi tiến hành search hoặc match L hay LOCALE - So Khớp với local hiện tại. M hay MULTILINE - Thay đổi $ và ^ thành kết thúc của một dòng và bắt đầu của một dòng thay vì mặc định là kết thúc chuỗi và bắt đầu chuỗi. A hay ACSII - Thay đổi \w, \W, \b, \B, \d, \D, \S và \s thành so khơp full unicode. S hay DOTALL -Thay đổi pattern . thành khớp với bất kỳ ký tự nào và dòng mới. ... 4. Kết LuậnRegular Expression trong python còn rất nhiều nhưng trong bài này mình chỉ hướng dẫn các bạn sử dụng một số regex hay dùng trong python mong rằng nó giúp ích được các bạn. xem thêm : https://viblo.asia/p/chia-se-10-regular-expression-huu-ich-ma-developer-nen-biet-Qbq5QJPLKD8 https://viblo.asia/p/cac-ki-tu-dac-biet-trong-regular-expressions-phan-2-ORNZqP6MK0n All rights reserved Ở phần trước mình đã giới thiệu đến mọi người một số các phương thức hay được sử dụng trong Regular Expression rồi, phần này mình sẽ giới thiệu với mọi người các cú pháp pattern trong Python. 1, Các cú pháp pattern trong Python.Dưới đây mình sẽ liệt kê ra một số các cú pháp pattern trong Python mà chúng ta hay sử dụng và kèm với theo nó là các ví dụ. []Trong cặp dấu này chứa các ký tự có thể so khớp với văn bẳn. Nó gần giống như toán tử hoặc, nghĩa là chỉ cần nó so khớp 1 trong các ký tự được liệt kê trong cặp dấu này thì chuỗi đó được so khớp. VD: pattern chuỗi bắt đầu bằng T hoặc t.
Và bạn cũng có thể liệt kê ra các ký tự dưới dạng từ ... đến ... bằng cách thể hiện dấu VD: Pattern chuỗi bắt đầu bằng ký tự in thường hoặc bằng số.
.Ký tự dấu VD:
^Ký tự này đại diện cho việc so khớp từ đầu của chuỗi. VD: so khớp xem có phải đầu chuỗi là chữ h
$Ký tự này đại diện cho việc so khớp đến cuối chuỗi. VD: so khớp xem cuỗi chuỗi có phải chữ t
*Ký tự này đại diện cho có thể có hoặc không có ký tự trước nó. VD: So khớp một chuỗi xem có thể bắt đầu bằng t hoặc không bắt đầu bằng t hoặc là chuỗi rỗng.
+Ký tự này đại diện cho có thể xuất hiện ít nhất hoặc nhiều ký tự trước nó. VD: So khớp xem một chuỗi chỉ chứa chữ cái in thường.
?Ký tự này đại diện cho chuỗi sẽ khớp với một trong các ký tự đằng trước nó. VD: Kiểm tra xem một chuỗi có được bắt đầu bằng a hoặc b hay không.
{m, n}Ký tự này đại diện cho việc so khớp xem chuỗi đằng trước nó xuất hiện bao nhiêu tối thiểu m lần và tối đa n lần. Nếu bỏ trống n thì là so khớp sự xuất hiện m lần của chuỗi đằng trước nó. VD: Kiểm tra xem 3 chữ cái đầu của chuỗi có phải là v không.
|Ký tự này đại diện cho sự tồn tại của một trong 2 ký tự trước và sau nó. VD: kiểm tra xem đầu chuỗi cõ phải là a hoặc b hay không.
() Ký tự này dùng để gom nhóm các pattern lại với nhau. VD: Kiểm tra xem chuỗi chó chứa chũ 'thanh' không.
\ Ký tự này giúp phân biệt chuỗi sau nó không phải là ký tự đặc biệt. VD: Kiểm tra xem đầu chuỗi có phải là dấu . không.
Các pattern khác
2, Các flags trong Python.Như ở phần 1 mình có trình bày các thông số flag trong Regular Expression, nhưng mình chưa liệt kê ra các flag đó. Và dưới đây là một số các flags hay dùng trong Python.
VD: So khớp một chuỗi bắt đầu bằng v hoặc V.
3, Lời kết.Như vậy phần này mình đã giới thiệu xong đến mọi người cơ bản về regular Expression trong Python rồi. Còn nếu bạn nào muốn tìm hiểu thêm tại đây. |