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:

Tìm hiểu Backreferences trong regex của Python

Tìm hiểu Backreferences trong regex của Python

Nhóm Non-capturing trong Regex Python

Nhóm Non-capturing trong Regex Python

Các nhóm Capturing trong regex của Python

Các nhóm Capturing trong regex của Python

Sets và Ranges trong Regex của Python

Sets và Ranges trong Regex của Python

Lượng từ non-greed trong Regex của Python

Lượng từ non-greed trong Regex của Python

Chế độ Greedy trong Regex Python

Chế độ Greedy trong Regex Python

Các lượng từ trong Regex của Python

Các lượng từ trong Regex của Python

Regex Word Boundary trong Python

Regex Word Boundary trong Python

Các tập ký tự trong Regex của Python

Các tập ký tự trong Regex của Python

Biểu thức chính quy (Regex) trong Python

Biểu thức chính quy (Regex) trong Python

Tìm hiểu Context Managers trong Python

Tìm hiểu Context Managers trong Python

Biểu thức Generator trong Python

Biểu thức Generator trong Python

Tìm hiểu Generators trong Python

Tìm hiểu Generators trong Python

Sử dụng hiệu quả hàm iter() trong Python

Sử dụng hiệu quả hàm iter() trong Python

Iterator vs Iterable trong Python

Iterator vs Iterable trong Python

Tìm hiểu về Iterator trong Python

Tìm hiểu về Iterator trong Python

Dãy số Fibonacci trong Python

Dãy số Fibonacci trong Python

Cắt Chuỗi (Slicing) trong Python

Cắt Chuỗi (Slicing) trong Python

Sự khác biệt giữa Tuple và List trong Python

Sự khác biệt giữa Tuple và List trong Python

Các sequence trong Python

Các sequence trong Python

Top