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 ( Show 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 Video giới thiệu Trong phần trình diễn ở trên, bạn thấy tôi làm như sau
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ụcTổng quanTrong 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 Thành phần Regexmỏ neoThay 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\b Khớp với ranh giới từ
định lượngCá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ả< 1< 2Kết hợp 0 hoặc nhiều phiên bản< 3< 4Kết hợp 1 hoặc nhiều phiên bản< 5< 6Kết hợp 0 hoặc một phiên bản< 7< 8Kết hợp num phiên bản< 9> 0Kết hợp ít nhất num phiên bản_______5_______số 1_______5 _______2Kết hợp từ số phiên bản^<([a-z]
Cấu trúc nhómNhóm đang nắm bắt (các) chuỗi con của văn bản, nghĩa là văn bản đã chọn được coi là một đơn vị. Các nhóm chụp có thể được đặt tên NhómMô tả< 2Chụp mẫu trong các dấu ngoặc đơn< 3Bỏ qua mẫu trong các dấu ngoặc đơn< 4Chụp mẫu trong các dấu ngoặc đơn nếu nó cũng đúng< 5Nhóm chụp ảnh được đặt tên< 6Đã đặt tên lại tham chiếu, khớp với nhóm chụp ảnh trước đó^<
Biểu thức khungBiểu thức dấu ngoặc khớp với danh sách (các) mẫu được đặt trong dấu ngoặc vuông, > 5(Ở đầu danh sách) Bỏ qua tất cả các mẫu trong danh sách> 6Viết tắt của phạm vi bao gồm^<(
Lớp nhân vậtCác lớp ký tự phân loại các loại ký tự khác nhau ClassDescription/> 2Một chữ số từ 0 đến 9/> 3Không có chữ số (nghịch đảo của \d)/> 4Bất kỳ khoảng trắng nào/> 5Không có khoảng trắng (nghịch đảo của \s)/> 6Bất kỳ bảng chữ cái Latinh nào, bao gồm cả dấu gạch dưới/> 7Bất kỳ chữ cái hoặc khoảng trắng không phải Latinh nào (nghịch đảo của \w)/> 8Bất kỳ ký tự nào ngoại trừ một dòng mới^<([a-z]+)([^<]+)(?:>(.)|
Toán tử ORToán tử OR, ký hiệu là ^<([a-z]+)([^<]+)(?:>(.)
cờCờ là các tham số tùy chọn có thể sửa đổi thêm biểu thức chính quy CờMô tả^ 4Bỏ qua phân biệt chữ hoa chữ thường^ 5Khớp cho tất cả các lần xuất hiện^ 6Khớp cả đầu và cuối của mỗi dòng mới^ 7Cho phép khớp bên ngoài bộ ký tự UTF-16^ 8Cho phép khớp từ một vị trí bắt đầu khác^ 9Cho phép khớp mọi thứ kể cả các dòng mớiCờ không được sử dụng trong ví dụ này nhân vật thoátKý tự thoát, được biểu thị bằng cách thêm dấu gạch chéo ngược, Ký tự thoát không được sử dụng trong ví dụ này Tác giảJustin Hui là một nhà phát triển web Front-end đầy tham vọng, anh đã tự học một phần và hiện đang đăng ký một khóa đào tạo mã hóa Làm cách nào để tìm các thẻ HTML bằng regex?Chỉ tìm thẻ HTML
. Bạn có thể sử dụng biểu thức chính quy “<. *?> “ để làm như vậy. use the Matches() method from the Regex class to find all the HTML tags within a string. You can use the regular expression “<. *?> “ to do so.
Bạn có thể sử dụng regex trên HTML không?Một cách đơn giản để phân tích cú pháp HTML là sử dụng các biểu thức chính quy để liên tục tìm kiếm và trích xuất các chuỗi con khớp với một mẫu cụ thể . Chúng ta có thể xây dựng một biểu thức chính quy được định dạng tốt để khớp và trích xuất các giá trị liên kết từ văn bản trên như sau. href="http. //. +?"
HTML regex là gì?Đối tượng RegExp
. Mẫu được sử dụng để thực hiện các chức năng "tìm kiếm và thay thế" khớp mẫu trên văn bản. Trong JavaScript, Đối tượng RegExp là một mẫu có Thuộc tính và Phương thức. A regular expression is a pattern of characters. The pattern is used to do pattern-matching "search-and-replace" functions on text. In JavaScript, a RegExp Object is a pattern with Properties and Methods.
*$ nghĩa là gì trong regex?*$ có nghĩa là - khớp, từ đầu đến cuối, bất kỳ ký tự nào xuất hiện từ 0 lần trở lên . Về cơ bản, điều đó có nghĩa là - khớp mọi thứ từ đầu đến cuối chuỗi. |