Regex khớp thẻ html với các thuộc tính

Được rồi, tôi thừa nhận, tôi đã có một chút sợ hãi với các biểu thức chính quy khi mới bắt đầu với tư cách là một nhà phát triển. Tất cả những gì tôi cần là một phương thức Chuỗi con và một phương thức IndexOf và tôi đã thiết lập. Nhưng sau một vài dự án yêu cầu xử lý văn bản cường độ cao, tôi nhận ra sức mạnh và tiện ích của các biểu thức chính quy. Chúng phải nằm trong vành đai công cụ của mọi nhà phát triển. Cuối cùng, tôi khuyên bạn nên làm chủ các biểu thức chính quy của Jeffrey Friedl. Đây thực sự là cuốn sách về Biểu thức chính quy. Đọc nó sẽ làm cho Regex-Fu của bạn trở nên mạnh mẽ

Vì vậy, hãy xem xét một nhiệm vụ phổ biến là khớp các thẻ HTML trong nội dung của một số văn bản. Ban đầu khi bạn nghĩ đến việc phân tích cú pháp một thẻ HTML, nó có vẻ khá dễ dàng. Bạn có thể xem xét biểu thức sau

]*>

Được dịch đại khái, biểu thức này tìm kiếm thẻ bắt đầu và tên thẻ, theo sau là khoảng trắng và sau đó là bất kỳ thứ gì không kết thúc thẻ

Bây giờ, điều này có thể sẽ hoạt động 99 trên 100 lần, nhưng có một lỗ hổng trong biểu thức này. Bạn có nhìn thấy nó không?

Hy vọng bạn thấy vấn đề ở đây. Biểu thức sẽ phù hợp

Chủ Đề