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 Word Boundary trong Python

Trong lập trình, việc xử lý và tìm kiếm văn bản là một công việc thường xuyên và quan trọng. Biểu thức chính quy (regular expression hay regex) là công cụ mạnh mẽ giúp thực hiện các nhiệm vụ này một cách hiệu quả. Trong bài viết này, mình sẽ tìm hiểu về ký tự biên giới từ trong biểu thức chính quy Python. Đây là một khái niệm quan trọng giúp bạn xác định các vị trí chính xác của từ trong một chuỗi, từ đó hỗ trợ việc kiểm tra và xử lý dữ liệu một cách 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ề Regex Word Boundary trong Python

Một chuỗi có các vị trí sau đây được coi là biên giới từ:

  • Trước ký tự đầu tiên trong chuỗi nếu ký tự đầu tiên là ký tự từ (\w).
  • Giữa hai ký tự trong chuỗi nếu ký tự đầu tiên là ký tự từ (\w) và ký tự thứ hai không phải là ký tự từ (\W – tập hợp ký tự ngược của \w).
  • Sau ký tự cuối cùng trong chuỗi nếu ký tự cuối cùng là ký tự từ (\w).

Hình ảnh sau minh họa các vị trí biên giới từ trong chuỗi "PYTHON 3!":

Screenshot 202024 07 10 20120559 png

  • Trước chữ P (tiêu chí #1)
  • Sau chữ N (tiêu chí #2)
  • Trước số 3 (tiêu chí #2)
  • Sau số 3 (tiêu chí #2)

Biểu thức chính quy sử dụng \b để biểu thị một biên giới từ. Ví dụ, bạn có thể dùng \b để khớp toàn bộ từ bằng cách sử dụng mẫu sau:

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

r'\bword\b'

Ví dụ sau đây khớp từ "Python" trong một chuỗi:

import re

s = 'CPython is the implementation of Python in C'
matches = re.finditer('Python', s)
for match in matches:
    print(match.group())

Kết quả trả về hai kết quả khớp, một trong từ "CPython" và một trong từ "Python":

Python
Python

Tuy nhiên, nếu bạn sử dụng biên giới từ \b, chương trình sẽ chỉ trả về một kết quả khớp:

import re

s = 'CPython is the implementation of Python in C'
matches = re.finditer(r'\bPython\b', s)
for match in matches:
    print(match.group())

Kết quả:

<re.Match object; span=(33, 39), match='Python'>

Trong ví dụ này, mẫu '\bPython\b' khớp với toàn bộ từ "Python" trong chuỗi 'CPython is the implementation of Python in C'.

Kết bài

Việc sử dụng ký tự biên giới từ trong biểu thức chính quy giúp bạn xác định và làm việc với các từ trong một chuỗi một cách chính xác và hiệu quả. Ký tự \b đại diện cho biên giới từ, giúp phân biệt giữa các từ hoàn chỉnh và các phần của từ. Bằng cách sử dụng biểu thức chính quy với ký tự biên giới từ, bạn có thể tìm kiếm và xử lý dữ liệu văn bản một cách hiệu quả hơn, đảm bảo rằng các thao tác của bạn chỉ ảnh hưởng đến các từ mục tiêu cụ thể. Hy vọng rằng qua hướng dẫn này, bạn đã nắm được cách sử dụng ký tự biên giới từ trong biểu thức chính quy để nâng cao kỹ năng xử lý văn bản của mình.

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