VietTuts

Tự Học Lập Trình Online

  • Home
  • Java
  • Servlet
  • JSP
  • Struts2
  • Hibernate
  • Spring
  • MyBatis
  • Java WS
  • C
  • C++
  • Python
  • PHP
  • Eclipse
  • VBA
  • Web
    • JavaScript
    • JQUERY
    • JSON
    • AJAX
    • CSS
    • HTML
    • Node.js
    • Angular 7
  • SQL
    • MySQL
    • SQL Server
  • Misc
    • Phần mềm tiện ích
    • Cấu trúc dữ liệu và giải thuật
    • Học lập trình C#
    • Selenium Test

Python Cơ Bản

Giới thiệu về Python Cài đặt Python Chương trình Hello World Cú pháp Python cơ bản Biến và kiểu dữ liệu trong Python Toán tử trong Python Tham số dòng lệnh trong Python Comment trong Python Từ khóa trong Python Đọc file CSV

Câu Lệnh Điều Khiển

Lệnh If-else Vòng lặp While Vòng lặp For Lệnh Break Lệnh Continue Vòng lặp lồng nhau Lệnh pass trong Python

Các Kiểu Dữ Liệu Chuẩn

Number String List Set Tuple Dictionary Phân biệt List, Tuple, Set, Dict

Hàm, Module và File I/O

Date & Time Hàm Module Vào ra dữ liệu File I/O Xử lý ngoại lệ Regex trong Python Module Collection Module Math Module OS Module Random Module Statistics Module SYS Giới thiệu Python IDEs

Python OPPs

Lập trình hướng đối tượng Lớp và đối tượng trong Python Constructor trong Python Kế thừa trong Python Ghi đè phương thức – Method Overriding Trừu tượng dữ liệu trong Python

Python MySQL

Cài đặt môi trường Python MySQL Kết nối Python với MySQL Tạo new database Tạo Table insert Table select Table update Table delete Table join Table Quản lý transaction
Python Tkinter(GUI) Python Web Blocker Python Numpy Python Django Python Flask Bài tập Python có lời giải

Regex trong Python


Xử lý ngoại lệ trong Python
Mô-đun collection trong Python

Nội dung chính

  • Regex trong Python
  • Các hàm Regex
  • Xây dựng biểu thức chính quy
    • Meta-Characters
    • Ký tự đặc biệt
    • Set
  • Hàm findall()
  • Đối tượng Match (kết quả khớp)
    • Các phương thức đối tượng Match

Regex trong Python

Biểu thức chính quy (Regular Expressions) hay Regex trong Python có thể được định nghĩa là chuỗi các ký tự được sử dụng để tìm kiếm một mẫu trong chuỗi. Mô-đun re cung cấp hỗ trợ để sử dụng regex trong chương trình python. Mô-đun re bắn ra một ngoại lệ nếu có lỗi xảy ra trong khi sử dụng biểu thức chính quy.

Bạn càn phải import mô-đun re để sử dụng các chức năng regex trong python.


import re


Các hàm Regex

Các hàm regex sau được sử dụng trong Python.

STT Hàm Mô tả
1 match Hàm này khớp với mẫu regex trong chuỗi với cờ tùy chọn. Nó trả về true nếu một kết quả khớp được tìm thấy trong chuỗi nếu không nó trả về false.
2 search Hàm này trả về đối tượng khớp nếu có một kết quả khớp được tìm thấy trong chuỗi.
3 findall Nó trả về một danh sách chứa tất cả các kết quả khớp của một mẫu trong chuỗi.
4 split Trả về một danh sách trong đó chuỗi đã được phân chia theo mỗi kết quả khớp.
5 sub Thay thế một hoặc nhiều kết quả khớp trong chuỗi.

Xây dựng biểu thức chính quy

Một biểu thức chính quy có thể được hình thành bằng cách sử dụng kết hợp các meta-character, ký tự đặc biệt và set.

Meta-Characters

Metacharacter là một ký tự có ý nghĩa nhất định:

Metacharacter Mô tả Ví dụ
[] Nó đại diện cho một tập các ký tự. "[a-z]"
\ Nó đại diện cho ký tự đặc biệt. "\r"
. Nó đại diện cho bất kỳ ký tự nào xuất hiện ở một số nơi cụ thể. "Ja.v."
^ Nó đại diện cho mẫu có mặt ở đầu chuỗi. "^Java"
$ Nó đại diện cho mẫu có mặt ở cuối chuỗi. "viettuts"
* Nó đại diện cho không hoặc nhiều lần xuất hiện của một mẫu trong chuỗi. "hello*"
+ Nó đại diện cho một hoặc nhiều lần xuất hiện của một mẫu trong chuỗi. "hello+"
{} Số lần xuất hiện đã chỉ định của một mẫu trong chuỗi. "java{2}"
| Nó biểu diễn cho cái này hoặc cái kia (điều kiện or). "python2|python3"
() Nhóm các thành phần.

Ký tự đặc biệt

Ký tự đặt biệt là các chuỗi có chứa \ theo sau là một trong các ký tự.

Ký tự Mô tả
\A Nó trả về một kết quả khớp nếu các ký tự được chỉ định có mặt ở đầu chuỗi.
\b Nó trả về một kết quả khớp nếu các ký tự được chỉ định có mặt ở đầu hoặc cuối chuỗi.
\B Nó trả về một kết quả khớp nếu các ký tự được chỉ định có mặt ở đầu chuỗi nhưng không ở cuối chuỗi.
\d Nó trả về một kết quả khớp nếu chuỗi chứa các chữ số [0-9].
\D Nó trả về một kết quả khớp nếu chuỗi không chứa các chữ số [0-9].
\s Nó trả về một kết quả khớp nếu chuỗi chứa bất kỳ ký tự khoảng trắng nào.
\S Nó trả về một kết quả khớp nếu chuỗi không chứa bất kỳ ký tự khoảng trắng nào.
\w Nó trả về một kết quả khớp nếu chuỗi chứa bất kỳ ký tự từ nào.
\W Nó trả về một kết quả khớp nếu chuỗi không chứa bất kỳ từ nào.
\Z Trả về một kết quả khớp nếu các ký tự được chỉ định ở cuối chuỗi.

Set

Một set là một nhóm các ký tự được đưa ra bên trong một cặp dấu ngoặc vuông. Nó đại diện cho ý nghĩa đặc biệt.

STT Set Mô tả
1 [arn] Trả về một kết quả khớp nếu chuỗi chứa bất kỳ ký tự nào được chỉ định trong tập hợp.
2 [a-n] Trả về một kết quả khớp nếu chuỗi chứa bất kỳ ký tự nào từ a đến n.
3 [^arn] Trả về một kết quả khớp nếu chuỗi chứa các ký tự ngoại trừ a, r và n.
4 [0123] Trả về một kết quả khớp nếu chuỗi chứa bất kỳ chữ số nào được chỉ định.
5 [0-9] Trả về một kết quả khớp nếu chuỗi chứa bất kỳ chữ số nào trong khoảng từ 0 đến 9.
6 [0-5][0-9] Trả về một kết quả khớp nếu chuỗi chứa bất kỳ chữ số nào trong khoảng từ 00 đến 59.
10 [a-zA-Z] Trả về một kết quả khớp nếu chuỗi chứa bất kỳ bảng chữ cái nào (chữ thường hoặc chữ hoa).


Hàm findall()

Phương thức này trả về một danh sách chứa danh sách tất cả các kết quả khớp của mẫu trong chuỗi. Nó trả về các mẫu theo thứ tự chúng được tìm thấy. Nếu không có kết quả khớp, thì một danh sách trống được trả về. Ví dụ:


import re  
str = "Xin chào Bạn! Bạn đang học bài Regex trong Python."  
matches = re.findall("Bạn", str)  
print(matches)  

Kết quả:

['Bạn', 'Bạn']

Đối tượng Match (kết quả khớp)

Đối tượng match chứa thông tin về tìm kiếm và đầu ra. Nếu không tìm thấy kết quả khớp, đối tượng None được trả về. Ví dụ:


import re  
str = "Xin chào Bạn! Bạn đang học bài Regex trong Python." 
matches = re.search("Bạn", str)
print(type(matches))
print(matches)

Kết quả:



Các phương thức đối tượng Match

Có các phương thức sau liên quan đến đối tượng Match.

  1. span(): Nó trả về bộ dữ liệu chứa vị trí bắt đầu và kết thúc của kết quả khớp.
  2. string(): Nó trả về một chuỗi được truyền vào hàm.
  3. group(): Một phần của chuỗi được trả về nơi tìm thấy kết quả khớp.

Ví dụ:


import re  
str = "Xin chào Bạn! Bạn đang học bài Regex trong Python." 
matches = re.search("Bạn", str)
print(matches.span())
print(matches.group())
print(matches.string)

Kết quả:

(9, 12)
Bạn
Xin chào Bạn! Bạn đang học bài Regex trong Python.

Previous
Next

Recent Updates

Bài tập Python có lời giảiPython -Tính tổng của các chữ số của môt số nguyên nPython - Phân tích số nguyên n thành tích các số nguyên tốLiệt kê tất cả số nguyên tố có 5 chữ số trong PythonLiệt kê n số nguyên tố đầu tiên trong PythonPython - Liệt kê tất cả các số nguyên tố nhỏ hơn nPython - Tìm ước số chung lớn nhất và bội số chung nhỏ nhất của 2 số nguyên dươngTìm số thuận nghịch trong PythonPython - Liệt kê số Fibonacci nhỏ hơn n và là số nguyên tốDãy số Fibonacci trong PythonChuyển đổi hệ cơ số trong PythonTính giai thừa trong Python

VietTuts on facebook

Học Lập Trình Online Miễn Phí - VietTuts.Vn

Danh sách bài học

Học java
Học servlet
Học jsp
Học Hibernate
Học Struts2
Học Spring
Học SQL

Câu hỏi phỏng vấn

201 câu hỏi phỏng vấn java
25 câu hỏi phỏng vấn servlet
75 câu hỏi phỏng vấn jsp
52 câu hỏi phỏng vấn Hibernate
70 câu hỏi phỏng vấn Spring
57 câu hỏi phỏng vấn SQL

About VietTuts.Vn

Hệ thống bài học trên VietTuts.Vn bao gồm các bài lý thuyết và thực hành về các công nghệ java và công nghệ web. Các bài lý thuyết trên hệ thống VietTuts.Vn được tham khảo và tổng hợp từ các trang http://javatpoint.com, http://www.tutorialspoint.com, http://docs.oracle.com/en …

Scroll back to top

Copyright © 2016 VietTuts.Vn all rights reserved. | VietTuts.Vn team | Liên hệ | Chính sách - riêng tư | sitemap.html | sitemap_index.xml