Nhóm tìm kiếm regex python

Biểu thức chính quy [Biểu thức chính quy] hay Regex trong Python có thể được định nghĩa là chuỗi ký tự được sử dụng để tìm kiếm một mẫu trong chuỗi. Hỗ trợ mô-đun lại cung cấp để sử dụng regex trong chương trình python. Mô-đun bắn lại 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 không thể nhập mô-đun lại để 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ả1matchHàm này khớp với biểu thức chính quy mẫu 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 nó không trả về false. 2searchHàm này trả về các đối tượng khớp nếu có một kết quả khớp được tìm thấy trong chuỗi. 3findall 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. 4splitTrả về một danh sách trong chuỗi đó đã được phân chia theo từng kết quả khớp. 5subThay thế một hoặc nhiều kết quả khớp trong chuỗi

Build 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 siêu ký tự, ký tự đặc biệt và bộ

Siêu ký tự

Siêu ký tự là một ký tự có ý nghĩa nhất định

Metacharacter Mô tả Ví dụ[]Đó là đại diện cho một tập hợ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 hoặc]. "trăn2. python3"[]Nhóm các thành phần

Special character

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

Ký tự mô tả\Nó trả về một kết quả khớp nếu các ký tự chỉ được định sẵn ở đầu chuỗi. \bNó trả về một kết quả khớp nếu các ký tự được chỉ định có mặt ở đầu hoặc chuỗi cuối. \BNó trả về một kết quả khớp nếu các ký tự được định sẵn chỉ có mặt ở đầu chuỗi nhưng không có ở 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]. \DNó trả về một kết quả khớp nếu chuỗi không chứa các chữ số [0-9]. \sNó 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. \SNó 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. \wNó trả về một kết quả khớp nếu chuỗi chứa bất kỳ ký tự nào từ bất kỳ ký tự nào. \WNó trả về một kết quả khớp nếu chuỗi không chứa bất kỳ từ nào. \ZTrả về một kết quả khớp nếu các ký tự được chỉ định ở cuối chuỗi

Bộ

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

STTSetMô 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ả chứa về một kết quả khớp nếu chuỗi bất kỳ ký tự nào từ a đến n. 3[^arn]Trả chứa về một kết quả khớp nếu chuỗi 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ề chứa một kết quả khớp nếu chuỗi 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 tôi đã tìm thấy. Nếu không có kết quả khớp, thì một danh sách trống sẽ đượ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ả

Match object [đối sánh kết quả]

Đối tượng khớp với thông tin tìm kiếm và đầu ra. Nếu không tìm thấy kết quả phù hợp, đối tượng Không được trả về. Ví dụ

Trong các dự án, yêu cầu bắt buộc thông tin người dùng đăng nhập là điều rất cần thiết và quan trọng. Và hôm nay chúng ta sẽ cùng nhau tìm hiểu về Regular Expression trong Python xem nó được ứng dụng như thế nào nhé

1, Biểu thức chính quy là gì?

Biểu thức chính quy [dịch ra tiếng việt là biểu thức chính quy] là một đoạn các ký tự đặc biệt được sử dụng để khớp các chuỗi hoặc một chuỗi các tập tin. Bạn cũng có thể gọi Biểu thức chính quy là một ngôn ngữ. Và hầu như ngôn ngữ lập trình nào cũng hỗ trợ Biểu thức chính quy, nhưng được sử dụng nhiều nhất và phổ biến nhất là trong UNIX

2, Biểu thức chính quy trong Python

Biểu thức chính quy trong Python có thể được thực hiện thông qua mô-đun

import re

str = 'Học lập trình Toidicode.com'
match = re.search[r'Toidicode.com', str]
if match: #nếu tồn tại chuỗi khớp                     
    print [match.group[]] # in ra chuỗi đó
else:
    print ['Khong tim thay!'] # Không thì hiện thông báo
#Kết quả:
#Toidicode.com
0, nên làm việc đầu tiên khi các bạn muốn sử dụng biểu thức chính quy, thì cần phải nhập lại mô-đun vào chương trình, sử dụng với cú pháp như sau

import re

Trong mô-đun này thì có rất nhiều phương thức, và mình sẽ liệt kê một số phương thức hoặc được sử dụng kèm theo ví dụ với mỗi phương thức đó

số nhóm]

Phương thức này trả về các giá trị so khớp giữa biểu thức chính quy và chuỗi cần thiết. Trong đó thì

import re

str = 'Học lập trình Toidicode.com'
match = re.search[r'Toidicode.com', str]
if match: #nếu tồn tại chuỗi khớp                     
    print [match.group[]] # in ra chuỗi đó
else:
    print ['Khong tim thay!'] # Không thì hiện thông báo
#Kết quả:
#Toidicode.com
1 đây là vị trí chỉ mục của danh sách so khớp trả về mà bạn muốn lấy ra. Nếu không điền thì Python sẽ coi nó là 0

VD

import re

str = 'Học lập trình Toidicode.com'
match = re.search[r'Toidicode.com', str]
if match: #nếu tồn tại chuỗi khớp                     
    print [match.group[]] # in ra chuỗi đó
else:
    print ['Khong tim thay!'] # Không thì hiện thông báo
#Kết quả:
#Toidicode.com

các nhóm[]

Phương thức này sẽ trả về một tupel các chuỗi được so khớp phù hợp

VD

import re

str = 'Hoc lap trinh Toidicode.com'
match = re.search[r'[.*] Toidicode.com', str]
if match: #nếu tồn tại chuỗi khớp                     
    print [match.groups[]] # in ra chuỗi đó
else:
    print ['Khong tim thay!'] # Không thì hiện thông báo
#Kết quả:
#['Hoc lap trinh',]

tìm kiếm [mẫu, chuỗi, cờ]

Phương thức này thực hiện việc tìm kiếm chuỗi so khớp trên chuỗi và nó sẽ trả về các giá trị được so khớp

in which

  • import re
    
    str = 'Học lập trình Toidicode.com'
    match = re.search[r'Toidicode.com', str]
    if match: #nếu tồn tại chuỗi khớp                     
        print [match.group[]] # in ra chuỗi đó
    else:
        print ['Khong tim thay!'] # Không thì hiện thông báo
    #Kết quả:
    #Toidicode.com
    
    2 is string biểu thức chính quy
  • import re
    
    str = 'Học lập trình Toidicode.com'
    match = re.search[r'Toidicode.com', str]
    if match: #nếu tồn tại chuỗi khớp                     
        print [match.group[]] # in ra chuỗi đó
    else:
        print ['Khong tim thay!'] # Không thì hiện thông báo
    #Kết quả:
    #Toidicode.com
    
    3 là chuỗi cần khớp
  • import re
    
    str = 'Học lập trình Toidicode.com'
    match = re.search[r'Toidicode.com', str]
    if match: #nếu tồn tại chuỗi khớp                     
        print [match.group[]] # in ra chuỗi đó
    else:
        print ['Khong tim thay!'] # Không thì hiện thông báo
    #Kết quả:
    #Toidicode.com
    
    4 là kiểu so khớp mà bạn muốn thực hiện [xem ở dưới]. Nếu để trống thì flags sẽ bằng 0

VD

import re

str = 'Hoc lap trinh Toidicode.com'
match = re.search[r'Toidicode.com', str]
if match: #nếu tồn tại chuỗi khớp                     
    print [match.group[]] # in ra chuỗi đó
else:
    print ['Khong tim thay!'] # Không thì hiện thông báo
#Kết quả:
#Toidicode.com

khớp [mẫu, chuỗi, cờ]

Phương thức này cũng thực hiện so khớp chuỗi nhưng nó sẽ tính từ phạm vi chuỗi đầu cho đến kết thúc, còn các tham số truyền vào thì tương tự như đối với phương thức

import re

str = 'Học lập trình Toidicode.com'
match = re.search[r'Toidicode.com', str]
if match: #nếu tồn tại chuỗi khớp                     
    print [match.group[]] # in ra chuỗi đó
else:
    print ['Khong tim thay!'] # Không thì hiện thông báo
#Kết quả:
#Toidicode.com
5

VD

import re

str = 'Học lập trình Toidicode.com'
match = re.search[r'Toidicode.com', str]
if match: #nếu tồn tại chuỗi khớp                     
    print [match.group[]] # in ra chuỗi đó
else:
    print ['Khong tim thay!'] # Không thì hiện thông báo
#Kết quả:
#Toidicode.com
1

fullmatch[mẫu, chuỗi, cờ]

Phương thức này cũng thực hiện so khớp nhưng nó là so khớp hoàn toàn, còn các tham số truyền vào là tương tự như phương thức khớp

VD. Đây là ví dụ phân biệt sự khác nhau giữa match và fullmatch

+ toàn trận

import re

str = 'Học lập trình Toidicode.com'
match = re.search[r'Toidicode.com', str]
if match: #nếu tồn tại chuỗi khớp                     
    print [match.group[]] # in ra chuỗi đó
else:
    print ['Khong tim thay!'] # Không thì hiện thông báo
#Kết quả:
#Toidicode.com
2

+ trận đấu

import re

str = 'Học lập trình Toidicode.com'
match = re.search[r'Toidicode.com', str]
if match: #nếu tồn tại chuỗi khớp                     
    print [match.group[]] # in ra chuỗi đó
else:
    print ['Khong tim thay!'] # Không thì hiện thông báo
#Kết quả:
#Toidicode.com
3

tách [mẫu, chuỗi, maxsplit]

Hàm này có tác dụng so khớp và xóa chuỗi so khớp thành công

in which

  • mẫu là chuỗi biểu thức chính quy
  • string is string must be so match
  • maxsplit is a number of max string will be split. Nếu để trống thì Python sẽ tìm và cắt tất cả các chuỗi

VD.  

import re

str = 'Học lập trình Toidicode.com'
match = re.search[r'Toidicode.com', str]
if match: #nếu tồn tại chuỗi khớp                     
    print [match.group[]] # in ra chuỗi đó
else:
    print ['Khong tim thay!'] # Không thì hiện thông báo
#Kết quả:
#Toidicode.com
4

findall[mẫu, chuỗi, cờ]

Phương thức này có tác dụng so khớp và trả về tất cả các chuỗi mà nó đã không được, còn lại các tham số truyền và sử dụng như đối với phương thức tìm kiếm

Chủ Đề