Regex cho các thẻ HTML

Giả sử bạn nhận được một loạt tài liệu từ khách hàng. Các tài liệu này đã được xuất từ ​​một số CMS lỗi thời và chúng chứa đầy các thẻ HTML cũ [và có lẽ không hợp lệ]. Những tài liệu này có nội dung tuyệt vời, vượt thời gian, nhưng chúng cần được làm sạch kỹ lưỡng, sau đó là một số định dạng mới [kiểu chữ]. Có lẽ bạn muốn định dạng lại tài liệu bằng cách sử dụng markdown [.md]

Sẽ thật tệ nếu phải xóa tất cả HTML theo cách thủ công, phải không?

Bằng cách chạy biểu thức chính quy bên trong trình soạn thảo văn bản hoặc IDE của bạn, bạn có thể tìm thấy tất cả các thẻ HTML cùng một lúc. Sau đó, bạn có thể thay thế chúng ngay lập tức bằng cách nhấp vào nút Thay thế tất cả trong trình chỉnh sửa của mình

Video giới thiệu

Trong phần trình diễn ở trên, bạn thấy tôi làm như sau

  • Mở thanh tìm kiếm của VSCode
  • Dán biểu thức chính quy
  • Kích hoạt chức năng Sử dụng biểu thức chính quy
  • Nhấn enter để bắt đầu tìm kiếm
  • Thay thế tất cả các thẻ HTML bằng một chuỗi rỗng
  • Chọn tất cả văn bản của tôi, nhấp chuột phải và định dạng lại nó [không cần thiết, tôi chỉ làm điều đó cho có vẻ. ]

Hãy cẩn thận. luôn tạo bản sao lưu của bất kỳ tệp nào trước khi bạn thực hiện các thay đổi lớn đối với tệp đó. Có thể tài liệu bạn đang dọn dẹp chứa một số URL có giá trị, URL này sẽ bị xóa nếu bạn thay thế các thẻ HTML bằng một chuỗi trống, như trong ví dụ trên

Regex hay Regexp, viết tắt của biểu thức chính quy, là một mẫu tìm kiếm, bao gồm một chuỗi ký tự cụ thể. Ứng dụng thực tế của regex bao gồm. kiểm tra xem tên người dùng, mật khẩu và/hoặc email mới tạo có đáp ứng một tiêu chí nhất định hay không, xác thực số điện thoại, xác thực URL, tìm kiếm và thay thế văn bản trong trình soạn thảo văn bản hoặc trình xử lý văn bản, v.v.

Mục lục

Tổng quan

Trong tài liệu này, regex sau

^]$

sẽ được kiểm tra. Mẫu của biểu thức này tìm kiếm thẻ HTML, bao gồm cả thẻ tự đóng. Cụ thể, nó tìm kiếm mẫu của hoặc />, cũng như các tên thẻ phù hợp. Trong mục lục, có một phác thảo về các chủ đề có thể hoặc không thể được thảo luận với ví dụ regex

Thành phần Regex

mỏ neo

Thay vì khớp với [các] ký tự, một ký tự neo khớp với một vị trí trước hoặc sau [các] ký tự

AnchorDescription^Khớp với mẫu ở đầu văn bản$Khớp với mẫu ở cuối văn bản\bKhớp với ranh giới từ

^]$

  • Dấu nháy neo được sử dụng để tìm kiếm phần đầu của văn bản đã chọn, bởi vì thông thường trong tài liệu HTML, các thẻ HTML được viết trước trong phần tử HTML
  • Cuối cùng, sẽ có xác thực nếu phần cuối khớp với mẫu của thẻ đóng hoặc thẻ tự đóng

định lượng

Các bộ định lượng được sử dụng để đối sánh số lần một mẫu biểu thức chính quy của bạn được lặp lại. Theo mặc định, một regex là tham lam, có nghĩa là các trận đấu sẽ càng dài càng tốt. Ngược lại sẽ là một trận đấu lười biếng

Greedy Quantifier Lazy QuantifierMô tả

Chủ Đề