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:

Hướng dẫn xây dựng Command-Line Interface (CLI) bằng Quo trong Python

Hướng dẫn xây dựng Command-Line Interface (CLI) bằng Quo trong Python

Hướng dẫn toàn diện về module datetime trong Python

Hướng dẫn toàn diện về module datetime trong Python

Cách truy cập và thiết lập biến môi trường trong Python

Cách truy cập và thiết lập biến môi trường trong Python

Lớp dữ liệu (Data Classes) trong Python với decorator @dataclass

Lớp dữ liệu (Data Classes) trong Python với decorator @dataclass

Từ khóa yield trong Python

Từ khóa yield trong Python

Sự khác biệt giữa sort() và sorted() trong Python

Sự khác biệt giữa sort() và sorted() trong Python

Sử dụng Poetry để quản lý dependencies trong Python

Sử dụng Poetry để quản lý dependencies trong Python

Định dạng chuỗi Strings trong Python

Định dạng chuỗi Strings trong Python

Một tác vụ phổ biến khi làm việc với danh sách trong Python

Một tác vụ phổ biến khi làm việc với danh sách trong Python

Làm việc với các biến môi trường trong Python

Làm việc với các biến môi trường trong Python

Sự khác biệt giữa set() và frozenset() trong Python

Sự khác biệt giữa set() và frozenset() trong Python

Sự khác biệt giữa iterator và iterable trong Python

Sự khác biệt giữa iterator và iterable trong Python

Cách làm việc với file tarball/tar trong Python

Cách làm việc với file tarball/tar trong Python

Chuyển đổi kiểu dữ liệu trong Python

Chuyển đổi kiểu dữ liệu trong Python

Sự khác biệt giữa toán tử == và is trong Python

Sự khác biệt giữa toán tử == và is trong Python

Làm việc với file ZIP trong Python

Làm việc với file ZIP trong Python

Cách sử dụng ThreadPoolExecutor trong Python

Cách sử dụng ThreadPoolExecutor trong Python

Sự khác biệt giữa byte objects và string trong Python

Sự khác biệt giữa byte objects và string trong Python

Xử lý độ chính xác các hàm floor, ceil, round, trunc, format  trong Python

Xử lý độ chính xác các hàm floor, ceil, round, trunc, format trong Python

Cách lặp qua nhiều list với hàm zip() trong Python

Cách lặp qua nhiều list với hàm zip() trong Python

Top