久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

javascript - js正則替換問題

瀏覽:99日期: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
相關文章:
主站蜘蛛池模板: 宜黄县| 图们市| 连南| 锦屏县| 抚宁县| 延津县| 泰宁县| 银川市| 金寨县| 哈巴河县| 民勤县| 诏安县| 太保市| 临澧县| 沙河市| 确山县| 福海县| 藁城市| 南漳县| 万山特区| 托克托县| 铜梁县| 新晃| 峨山| 五峰| 渝北区| 玛多县| 油尖旺区| 新乐市| 武威市| 边坝县| 梓潼县| 辰溪县| 东兰县| 长乐市| 尼勒克县| 义马市| 阿城市| 宜宾县| 阿尔山市| 定结县|