RegEx trong Python
Trích xuất thông tin dựa trên luật (rule-based) hữu ích cho nhiều tác vụ NLP. Một số loại thực thể như ngày tháng hoặc số điện thoại có định dạng rõ ràng và có thể nhận diện bằng một tập luật mà không cần huấn luyện bất kỳ mô hình nào. Trong bài tập này, bạn sẽ luyện tập dùng gói re cho RegEx. Mục tiêu là tìm các số điện thoại trong text đã cho.
Gói re đã được nhập sẵn để bạn sử dụng. Bạn có thể dùng \d để khớp các mẫu chuỗi đại diện cho metacharacter khớp với bất kỳ chữ số nào từ 0 đến 9.
Bài tập này là một phần của khóa học
Xử lý ngôn ngữ tự nhiên với spaCy
Hướng dẫn bài tập
- Định nghĩa một mẫu để khớp số điện thoại theo dạng (111)-111-1111.
- Tìm tất cả các mẫu khớp bằng phương thức
re.finditer(). - Với mỗi kết quả khớp, in ra vị trí ký tự bắt đầu và kết thúc, cùng đoạn văn bản khớp trong
textđã cho.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
text = "Our phone number is (425)-123-4567."
# Define a pattern to match phone numbers
pattern = r"\((____){____}\)-(____){____}-(____){____}"
# Find all the matching patterns in the text
phones = re.____(pattern, text)
# Print start and end characters and matching section of the text
for match in phones:
start_char = match.____
end_char = match.____
print("Start character: ", ____, "| End character: ", ____, "| Matching text: ", text[____:____])