PYTHON REGEX
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Thông báo: Download 4 khóa học Python từ cơ bản đến nâng cao tại đây.

Regex với các ký tự neo trong Python

Trong lập trình Python, biểu thức chính quy là một công cụ mạnh mẽ để xử lý và phân tích chuỗi ký tự. Một trong những khía cạnh quan trọng của biểu thức chính quy là khả năng khớp các vị trí cụ thể trong chuỗi, chẳng hạn như đầu và cuối của chuỗi. Các ký tự neo được sử dụng để định vị các vị trí này, giúp bạn có thể dễ dàng xác định và kiểm tra các mẫu chuỗi theo yêu cầu. Trong bài viết này, bạn sẽ học cách sử dụng các ký tự neo trong biểu thức chính quy để khớp các vị trí ký tự, bao gồm đầu và cuối của một chuỗi, giúp việc làm việc với chuỗi trở nên chính xác và hiệu quả hơn.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Giới thiệu về các ký tự neo trong biểu thức chính quy

Biểu thức chính quy cung cấp cho bạn hai ký tự neo để khớp các vị trí ký tự:

  • ^ – ký tự dấu mũ (caret) khớp tại đầu của một chuỗi.
  • $ – ký tự dấu đô la (dollar) khớp tại cuối của một chuỗi.

Ví dụ sau đây sử dụng \d\d để khớp hai chữ số trong một chuỗi thời gian:

import re

time = '12:20'
matches = re.finditer('\d\d', time)
for match in matches:
    print(match.group())

Kết quả trả về hai chuỗi khớp:

Bài viết này được đăng tại [free tuts .net]

12
20

Nếu bạn sử dụng ký tự dấu mũ (^), bạn sẽ chỉ nhận được nhóm đầu tiên là hai chữ số ở đầu chuỗi. Ví dụ:

import re

time = '12:20'
matches = re.finditer('^\d\d', time)
for match in matches:
    print(match.group())

Kết quả:

12

Tương tự, nếu bạn sử dụng ký tự dấu đô la ($), bạn sẽ nhận được hai chữ số cuối cùng vì ký tự $ khớp \d\d ở cuối chuỗi thời gian:

import re

time = '12:20'
matches = re.finditer('\d\d$', time)
for match in matches:
    print(match.group())

Kết quả:

20

Để kiểm tra xem một chuỗi có phải là chuỗi thời gian hay không, bạn có thể kết hợp cả dấu mũ (^) và dấu đô la ($). Ví dụ:

import re

time = '12:20'
matches = re.finditer('^\d\d:\d\d$', time)
for match in matches:
    print(match.group())

Kết quả:

12:20

Lưu ý rằng mẫu ^\d\d:\d\d$ không kiểm tra giờ và phút hợp lệ. Ví dụ, nó cũng khớp với chuỗi sau:

30:99

Đây không phải là một chuỗi thời gian hợp lệ vì giờ hợp lệ từ 1 đến 24 và phút hợp lệ từ 00 đến 59. Sau này, bạn sẽ học cách khớp chuỗi thời gian với các giá trị hợp lệ bằng cách sử dụng phép thay thế.

Kết bài

Các ký tự neo trong biểu thức chính quy khớp các vị trí ký tự, không phải ký tự. Ký tự dấu mũ (^) khớp tại đầu của một chuỗi, trong khi ký tự dấu đô la ($) khớp tại cuối của một chuỗi. Biểu thức chính quy với các ký tự neo giúp bạn xác định vị trí chính xác của các mẫu chuỗi, từ đó kiểm tra và xử lý dữ liệu một cách chính xác và hiệu quả. Sử dụng các ký tự neo này, bạn có thể viết mã linh hoạt hơn và dễ dàng kiểm tra các điều kiện phức tạp trong chuỗi ký tự, đảm bảo rằng dữ liệu được xử lý đúng cách và phù hợp với các yêu cầu của ứng dụng.

Cùng chuyên mục:

Sử dụng câu lệnh raise from trong Python

Sử dụng câu lệnh raise from trong Python

Ngoại lệ tùy chỉnh trong Python

Ngoại lệ tùy chỉnh trong Python

Ngoại lệ Raise trong Python

Ngoại lệ Raise trong Python

Tìm hiểu về các ngoại lệ trong Python

Tìm hiểu về các ngoại lệ trong Python

Tìm hiểu về decorator dataclass trong Python

Tìm hiểu về decorator dataclass trong Python

Ví dụ sử dụng metaclass trong Python

Ví dụ sử dụng metaclass trong Python

Lớp Metaclass trong Python

Lớp Metaclass trong Python

Tìm hiểu về Class Type trong Python

Tìm hiểu về Class Type trong Python

Phương thức __new__ trong Python

Phương thức __new__ trong Python

Phân biệt Data Descriptor và Non-data Descriptor trong Python

Phân biệt Data Descriptor và Non-data Descriptor trong Python

Mô tả Descriptors trong Python

Mô tả Descriptors trong Python

Tìm hiểu về các lớp mixin trong Python

Tìm hiểu về các lớp mixin trong Python

Đa kế thừa trong Python

Đa kế thừa trong Python

Nguyên tắc đảo ngược sự phụ thuộc trong Python

Nguyên tắc đảo ngược sự phụ thuộc trong Python

Interface Segregation Principle - ISP trong Python.

Interface Segregation Principle - ISP trong Python.

Nguyên tắc thay thế Liskov - LSP trong Python

Nguyên tắc thay thế Liskov - LSP trong Python

Nguyên tắc Đóng-Mở trong Python

Nguyên tắc Đóng-Mở trong Python

Single Responsibility Principle trong Python

Single Responsibility Principle trong Python

Cách sử dụng hàm Auto() của Python

Cách sử dụng hàm Auto() của Python

Tùy chỉnh và mở rộng lớp Enum trong Python

Tùy chỉnh và mở rộng lớp Enum trong Python

Top