1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Nhập môn Natural Language Processing bằng Python

Connected

Bài tập

Luyện tập biểu thức chính quy: re.split() và re.findall()

Giờ bạn sẽ viết một vài biểu thức chính quy để khớp chữ số, chuỗi và ký tự không phải chữ-số. Trước tiên, hãy in my_string trong IPython Shell để xem cấu trúc và quyết định cách khớp cho từng bước.

Lưu ý: Điều quan trọng là thêm tiền tố r trước mẫu regex để đảm bảo mẫu được diễn giải đúng như bạn muốn. Nếu không, bạn có thể gặp vấn đề liên quan đến chuỗi thoát. Ví dụ, "\n" trong Python biểu thị xuống dòng mới, nhưng nếu dùng tiền tố r, nó sẽ được hiểu là chuỗi thô "\n" — tức là ký tự "\" theo sau bởi ký tự "n" — chứ không phải xuống dòng mới.

Mô-đun biểu thức chính quy re đã được nhập sẵn cho bạn.

Nhớ từ video rằng cú pháp của thư viện regex là luôn truyền mẫu trước, rồi đến chuỗi sau.

Hướng dẫn

100 XP
  • Tách my_string tại mỗi dấu kết thúc câu. Thực hiện như sau:
    • Viết một mẫu tên sentence_endings để khớp ký tự kết thúc câu (.?!).
    • Dùng re.split() để tách my_string theo mẫu và in kết quả.
  • Tìm và in tất cả các từ viết hoa trong my_string bằng cách viết mẫu tên capitalized_words và dùng re.findall().
    • Bạn còn nhớ mẫu [a-z] trong video để khớp nhóm chữ thường chứ? Hãy chỉnh mẫu đó cho phù hợp để khớp nhóm chữ hoa.
  • Viết một mẫu tên spaces để khớp một hoặc nhiều khoảng trắng ("\s+"), rồi dùng re.split() để tách my_string theo mẫu này, giữ nguyên toàn bộ dấu câu. In kết quả.
  • Tìm tất cả chữ số trong my_string bằng cách viết mẫu tên digits ("\d+") và dùng re.findall(). In kết quả.