Hướng dẫn dùng re library python
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 RegEx hay biểu thức chính quy (Regular Expression) là một chuỗi ký tự tạo thành một biểu mẫu tìm kiếm (search pattern). RegEx được sử dụng để kiểm tra xem một chuỗi có chưa mẫu tìm kiêms được chỉ định hay không. RegEx moduleTrong python, có một gói tích hợp có tên
RegEx trong pythonSau khi import module
Các hàm xử lý RegExModule
1. Hàm findall()In ra tất cả những đoạn phù hợp:
Hoặc nếu không tìm thấy kết quả nào phù hợp thì trả về một danh sách rỗng
2. Hàm search()Tìm kiếm khoảng trắng đầu tiên trong chuỗi:
Hoặc sẽ trả về None nếu không tìm thấy
3. Hàm split()Tách các từ trong câu:
Chúng ta có thể chỉ định số lần xuất hiện qua tham số
4. Hàm sub()Thay thế mọi khoảng trắng bằng số 9:
Hoặc có thể hạn chế số lần thay thế qua tham số
MetacharactersMetacharacters là những ký tự có ý nghĩa đặc biệt
Special SequencesSpecial Sequences là chuỗi đặc biệt và được bắt đầu bằng ký tự
SetsSets là tập hợp các ký tự bên trong dấu
Đối tượng MatchMatch là đối tượng chứa thông tin về tìm kiếm phù hợp và kết quả của chúng. Nếu không có tìm kiếm nào phù hợp thì sẽ trả về .string trả về chuỗi được truyền vào hàm .span() trả về một tuple chứa điểm bắt đầu và kết thúc của vị trí phù hợp .group() trả về phần chuỗi phù hợp In ra vị trị bắt đầu và kết thúc của lần xuất
hiện đầu tiên của từ bắt đầu bằng chữ
In ra chuỗi đã được truyền vào hàm:
In ra đoạn phù hợp với biểu thức trong chuỗi cho trước:
Tổng kếtRegEx thật sự rất mạnh mạnh mẽ và nó sẽ giúp các bạn xử lý được rất nhiều bài toán khó, phức tạp nếu áp dụng cách thông thường. Nhưng nó cũng thực sự khá rối rắm với nhưng người chưa tìm hiểu kỹ về nó. Hy vọng các bạn sẽ tìm được niềm vui khi sử dụng RegEx |