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.
![banquyen png](https://freetuts.net/public/banquyen.png)
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!":
- 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.