Tôi có trường văn bản blob trong cột MySQL có chứa HTML. Tôi phải thay đổi một số đánh dấu, vì vậy tôi figured tôi sẽ làm điều đó trong một kịch bản ruby. Ruby không liên quan ở đây, nhưng sẽ rất tuyệt khi thấy câu trả lời với nó. Đánh dấu trông như sau:tìm kiếm và thay thế bằng ruby regex
<h5>foo</h5>
<table>
<tbody>
</tbody>
</table>
<h5>bar</h5>
<table>
<tbody>
</tbody>
</table>
<h5>meow</h5>
<table>
<tbody>
</tbody>
</table>
tôi cần phải thay đổi chỉ là <h5>foo</h5>
khối đầu tiên của mỗi văn bản để <h2>something_else</h2>
khi rời khỏi phần còn lại của chuỗi một mình.
Dường như không thể có được chế độ PCRE phù hợp, sử dụng Ruby.
Tôi yêu cầu bạn xem xét sử dụng trình phân tích cú pháp HTML thay vì sử dụng regex cho html. Như đã nói [nhiều] (http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags), [nhiều] (http: // stackoverflow. com/questions/590747/using-regular-expressions-to-parse-html-why-not), [nhiều] (http://stackoverflow.com/questions/6751105/why-its-not-possible-to-use -regex-to-parse-html-xml-a-chính thức-giải thích-in-la? lq = 1) lần trước, các trình phân tích cú pháp Regex không có khả năng phân tích chính xác HTML. –
Cụ thể, tôi khuyên bạn nên sử dụng [Nokogiri] (http://nokogiri.org) để tải HTML của bạn, thao tác nó, và sau đó phát ra kết quả. – Phrogz