Làm ơn đóng thẻ!
Trong lúc này, bạn đang làm một dự án khác. Công ty sắp phát triển một sản phẩm mới giúp lập trình viên tự động kiểm tra mã họ đang viết. Bạn cần viết một đoạn script ngắn để kiểm tra rằng mọi thẻ HTML mở đều có thẻ đóng tương ứng.
Bạn có một ví dụ chuỗi chứa thẻ HTML:
<title>The Data Science Company</title>
Bạn biết rằng thẻ HTML mở luôn ở đầu chuỗi. Nó xuất hiện bên trong <>. Thẻ đóng cũng xuất hiện trong <>, nhưng có dấu / đứng trước.
Bạn cũng nhớ rằng có thể tham chiếu lại các nhóm bắt bằng số, ví dụ \4.
Danh sách html_tags, chứa ba chuỗi với các thẻ HTML, và mô-đun re đã được nạp trong phiên của bạn. Bạn có thể dùng print() để xem dữ liệu trong IPython Shell.
Bài tập này là một phần của khóa học
Regular Expressions in Python
Hướng dẫn bài tập
- Hoàn thiện regex để khớp các thẻ HTML đã được đóng. Tìm xem có khớp hay không trong mỗi chuỗi của danh sách
html_tags. Gán kết quả vàomatch_tag. - Nếu tìm được khớp, in nhóm đầu tiên được bắt và lưu trong
match_tag. - Nếu không có khớp, hãy hoàn thiện regex để chỉ khớp phần văn bản bên trong thẻ HTML. Gán nó vào
notmatch_tag. - In nhóm đầu tiên được regex bắt và lưu trong
notmatch_tag.
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.
for string in html_tags:
# Complete the regex and find if it matches a closed HTML tags
match_tag = re.match(____"<____>.*?", ____)
if match_tag:
# If it matches print the first group capture
print("Your tag {} is closed".format(match_tag.____(____)))
else:
# If it doesn't match capture only the tag
notmatch_tag = re.match(____"<____>", ____)
# Print the first group capture
print("Close your {} tag!".format(notmatch_tag.____(____)))