Regex để khớp với các thẻ HTML JavaScript

Nếu bạn đã từng xử lý dữ liệu dựa trên văn bản trước đây, bạn có thể không lạ gì việc một bộ dữ liệu lộn xộn có thể khiến cuộc sống của bạn trở nên khốn khổ như thế nào. Thực tế là hầu hết dữ liệu của thế giới đều ở dạng phi cấu trúc là một sự thật xấu xí sớm muộn gì cũng được biết đến. Trong bài đăng này, chúng ta sẽ nói về RegEx (biểu thức chính quy) là gì, bạn có thể làm gì với RegEx và một số ví dụ cụ thể

Biểu thức chính quy (RegEx) là gì?

“Một biểu thức chính quy (đôi khi được gọi là một biểu thức hữu tỷ) là một dãy các ký tự xác định một mẫu tìm kiếm, chủ yếu để sử dụng trong khớp mẫu với chuỗi hoặc khớp chuỗi, tôi. e. các hoạt động giống như "tìm và thay thế". Khái niệm này nảy sinh vào những năm 1950, khi nhà toán học người Mỹ Stephen Kleene chính thức hóa mô tả của một ngôn ngữ thông thường và được sử dụng phổ biến với tiện ích xử lý văn bản Unix ed (trình soạn thảo dòng cho hệ điều hành Unix), trình soạn thảo và grep. . ” Đây là đoạn trích từ Wikipedia dùng để định nghĩa biểu thức chính quy

Nghe có vẻ mơ hồ, khái niệm này thực sự khá dễ hiểu. Giả sử bạn muốn tìm một bộ phim nào đó trên Netflix, có thể bạn sẽ tìm kiếm với tiêu đề của Phim hoặc thậm chí là một phần của tiêu đề. Sau đó, công cụ tìm kiếm của Netflix sẽ tiếp tục tìm kiếm bất kỳ bộ phim nào có tiêu đề khớp với nội dung bạn đã nhập vào hộp tìm kiếm và hiển thị cho bạn danh sách kết quả tìm kiếm khớp với từ khóa tìm kiếm của bạn. Tương tự như vậy, các biểu thức chính quy giống như các từ bạn đã sử dụng để tìm kiếm bộ phim mà bạn muốn tìm

Về cơ bản, biểu thức chính quy là các mẫu văn bản mà bạn có thể sử dụng để khớp các phần tử hoặc thay thế các phần tử trong chuỗi văn bản. RegEx có thể mạnh hơn bạn nghĩ vì nó cực kỳ linh hoạt để làm sạch dữ liệu dựa trên văn bản

Bạn có thể làm gì với RegEx?

Nói tóm lại, các biểu thức chính quy có thể được sử dụng để khớp các thẻ HTML và trích xuất dữ liệu trong tài liệu HTML

Các trường hợp sử dụng RegEx phổ biến

Cụm từ thông dụng thực sự hữu ích để đối sánh các mẫu văn bản phổ biến, chẳng hạn như email, số điện thoại, mã zip, v.v.

  • Sử dụng RegEx để trích xuất email
  • Sử dụng RegEx để trích xuất số điện thoại
  • Tinh chỉnh dữ liệu được trích xuất (thay thế nội dung, thêm tiền tố,. )

HTML thực tế được tạo thành từ các chuỗi và điều làm cho biểu thức chính quy trở nên mạnh mẽ là, một biểu thức chính quy có thể khớp với các chuỗi khác nhau. Phải thừa nhận rằng, việc sử dụng các biểu thức chính quy để phân tích cú pháp HTML thường có thể dẫn đến các lỗi như thiếu thẻ đóng, một số thẻ không khớp, v.v. Các lập trình viên có nhiều khả năng sử dụng các trình phân tích cú pháp HTML khác như PHPQuery, BeautifulSoup, html5lib-Python, v.v. Tuy nhiên, nếu bạn muốn khớp nhanh các thẻ HTML, bạn có thể sử dụng công cụ vô cùng tiện lợi này để xác định các mẫu trong tài liệu HTML. Mọi lập trình viên hoặc bất kỳ ai muốn trích xuất dữ liệu web đều được khuyến khích tìm hiểu về các biểu thức chính quy để biết cách công cụ này có thể cải thiện đáng kể hiệu quả và năng suất công việc

Hãy xem xét một số ví dụ về biểu thức chính quy để khớp với các thẻ HTML

  • Cụm từ thông dụng để khớp các thẻ HTML

<(. )>. ?. <(. *) /><(\S*?)[^>]>. ?. <. *?/>
<(\S*?)[^>]>.?|<.*?/>

  • Cụm từ thông dụng để khớp với tất cả các thẻ TD

\s*. *<\/td>

  • Regular expression to match :

<[a-zA-Z]+(\s+[a-zA-Z]+\s*=\s*(“([^”])”. ’([^’])’))\s/>

Chúng tôi có thể khớp nhiều loại thẻ HTML bằng cách sử dụng biểu thức chính quy như vậy và do đó dễ dàng trích xuất dữ liệu trong tài liệu HTML

Bạn cũng có thể kiểm tra Bảng cheat biểu thức chính quy này để có tài liệu tham khảo nhanh cho RegEx

Ngoài ra, đây là một số công cụ gỡ lỗi và kiểm tra RegEx trực tuyến phổ biến để giúp tạo hoặc xác minh các biểu thức phù hợp

  • Trình kiểm tra Regex
  • Regex101. xây dựng, kiểm tra và gỡ lỗi regex
  • RegExr. Tìm hiểu, xây dựng và kiểm tra RegEx

Nếu bạn cần cạo và định dạng lại dữ liệu web cùng một lúc, Tải xuống Octoparse 8. Chúng tôi có một công cụ RegEx miễn phí đã sẵn sàng để sử dụng. Chỉ cần mở phần mềm và nhấp vào biểu tượng “Công cụ” trên menu thanh bên

Công cụ RegEx miễn phí — Octopude

Trường hợp 1. Sử dụng các ký tự gần đó để định vị văn bản​

Nếu bạn muốn lấy thông tin xếp hạng từ HTML bên dưới, bạn có thể sử dụng công cụ RegEx của Octopude để khớp các phần tử bằng cách sử dụng các ký tự “Bắt đầu bằng” và “Kết thúc bằng” ở gần

Trường hợp 2. Viết RegEx để trích xuất thông tin cụ thể (như email, trang web, v.v.)

support@octoparse. com

Nếu bạn muốn trích xuất email từ mã nguồn (đặc biệt đối với một số URL chia sẻ cấu trúc khác nhau), bạn có thể sử dụng trực tiếp RegEx bên dưới để khớp email. Bạn có thể kiểm tra và gỡ lỗi các biểu thức chính quy của riêng mình ngay lập tức bằng công cụ