VietTuts

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

  • Home
  • Java
  • Servlet
  • JSP
  • Struts2
  • Hibernate
  • Spring
  • MyBatis
  • Java WS
  • C
  • C++
  • C#
  • Python
  • PHP
  • Excel
  • VBA
  • Web
    • JavaScript
    • JQUERY
    • JSON
    • AJAX
    • CSS
    • HTML
    • HTML5
    • Node.js
    • Angular 7
  • SQL
    • MySQL
    • SQL Server
  • Misc
    • Eclipse
    • Phần mềm tiện ích
    • Cấu trúc DL&GT
    • Selenium Test

Python Cơ Bản

Giới thiệu về Python Cài đặt Python Hướng dẫn lập trình Python với Visual Studio Code Hướng dẫn lập trình Python với PyCharm Community Edition Hướng dẫn lập trình Python với Eclipse 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
1 / 3
❮ ❯

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

Vẽ tam giác Pascal trong PythonVẽ tam giác Floyd trong PythonVẽ tam giác đều trong PythonBài tập vòng lặp trong PythonBài tập quản lý sinh viên trong PythonBài tập Python có lời giảiVẽ tam giác vuông cân trong PythonCheck số nguyên tố trong PythonCách cài đặt Python (Thiết lập môi trường)Hướng dẫn lập trình Python với EclipseHướng dẫn lập trình Python với PyCharm Community EditionHướng dẫn lập trình Python với Visual Studio CodeSắp Tết 2026 Rồi! - Còn bao nhiêu ngày nữa là đến tết 2026?

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 | Hibernate | Spring
Học Excel | Excel VBA
Học Servlet | JSP | Struts2
Học C | C++ | C#
Học Python
Học SQL

Bài Tập Có Lời Giải

Bài tập Java
Bài tập C
Bài tập C++
Bài tập C#
Bài tập Python
Ví dụ Excel VBA

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

Scroll back to top

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