文章詳情頁
javascript - js正則替換問題
瀏覽:82日期:2023-03-07 18:22:03
問題描述
<!DOCTYPE html><html><head> <title>內容</title></head><body>中文<p>內容<i>內容</i></p></body></html>
將標簽里面的內容替換為
<!DOCTYPE html><html><head> <title>{{#內容#}}</title></head><body>{{#中文#}}<p>{{#內容#}}<i>{{#內容#}}</i></p></body></html>
求解正則該怎么寫?
問題解答
回答1:第一,學過編譯原理的話,你就會知道,正則是沒有能力處理嵌套的數據結構的。也就是說,你想通過正則實現【選中 body 中嵌套的 p 的第一個 i 標簽】這樣的需求,在原理上是行不通的。
第二,你要處理的是一個結構化的 DOM 文本,因此可以使用 jQuery 的 parseHTML 方法來實現。通過 jQuery parse 后得到的對象是可以使用 $ 來進一步選擇 p 或 i 等節點的。這就能夠簡單有效地解決你的文本替換問題了。
如果你在 Node 服務端,那么 jQuery 換成 cheerio 即可。
回答2:如果只在當前你給的測試文本里你想做替換,因為情況比較簡單,所以只要寫個([u4e00-u9fa5]+)這樣的正則匹配用{{#$1#}}去替換就行
標簽:
JavaScript
相關文章:
1. javascript - h5 video層級太高導致浮在div上面,如何解決?2. mysql ER_BAD_DB_ERROR: Unknown database ’test’3. linux - Ubuntu下編譯Vim8(+python)無數次編譯失敗4. python - pyspider爬pdf爬了一小段時間后就不動了5. mysql - 記得以前在哪里看過一個估算時間的網站6. 如何合并兩張具有相同結構的mysql表7. javascript - Ajax加載Json時,移動端頁面向左上角縮小一截兒,加載完成后才正常顯示,這該如何解決?8. python中怎么對列表以區間進行統計?9. css - 請問B站頂部的模糊半透明導航條是怎么實現的呢?10. python運行后沒有任何反饋要怎么排查
排行榜
