Hướng dẫn match python - phù hợp với trăn



Nội dung chính

Nội dung chính

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

Nội dung chính

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

Nội dung chính

  • Các hàm Regex
  • Xây dựng biểu thức chính quy
  • Meta-Characters
  • Ký tự đặc biệt
  • 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
  • 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

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. 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.



Các hàm Regex

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

STTHàmMô 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:

MetacharacterMô tả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. 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.
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. split
Trả về một danh sách trong đó chuỗi đã được phân chia theo mỗi kết quả khớp. sub Thay thế một hoặc nhiều kết quả khớp trong chuỗi.
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. Metacharacter là một ký tự có ý nghĩa nhất định: Metacharacter
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" *

Ký tự đặc biệt

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*" Mô tả
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.
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.
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.
split Trả về một danh sách trong đó chuỗi đã được phân chia theo mỗi kết quả khớp.
sub Thay thế một hoặc nhiều kết quả khớp trong chuỗi.
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. Metacharacter là một ký tự có ý nghĩa nhất định:
MetacharacterVí 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ể.

STTSetMô 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.
6 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. Metacharacter là một ký tự có ý nghĩa nhất định:
10 MetacharacterVí dụ


Hàm findall()

[]

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)  

Nó đại diện cho một tập các ký tự.


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

"[a-z]"

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)

Nó đại diện cho một tập các ký tự.

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. : 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. : 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. : 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.