国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

javascript - js正則替換問題

瀏覽:84日期:2023-03-07 18:22:03

問題描述

<!DOCTYPE html><html><head> <title>內(nèi)容</title></head><body>中文<p>內(nèi)容<i>內(nèi)容</i></p></body></html>

將標(biāo)簽里面的內(nèi)容替換為

<!DOCTYPE html><html><head> <title>{{#內(nèi)容#}}</title></head><body>{{#中文#}}<p>{{#內(nèi)容#}}<i>{{#內(nèi)容#}}</i></p></body></html>

求解正則該怎么寫?

問題解答

回答1:

第一,學(xué)過編譯原理的話,你就會(huì)知道,正則是沒有能力處理嵌套的數(shù)據(jù)結(jié)構(gòu)的。也就是說,你想通過正則實(shí)現(xiàn)【選中 body 中嵌套的 p 的第一個(gè) i 標(biāo)簽】這樣的需求,在原理上是行不通的。

第二,你要處理的是一個(gè)結(jié)構(gòu)化的 DOM 文本,因此可以使用 jQuery 的 parseHTML 方法來實(shí)現(xiàn)。通過 jQuery parse 后得到的對(duì)象是可以使用 $ 來進(jìn)一步選擇 p 或 i 等節(jié)點(diǎn)的。這就能夠簡(jiǎn)單有效地解決你的文本替換問題了。

如果你在 Node 服務(wù)端,那么 jQuery 換成 cheerio 即可。

回答2:

如果只在當(dāng)前你給的測(cè)試文本里你想做替換,因?yàn)榍闆r比較簡(jiǎn)單,所以只要寫個(gè)([u4e00-u9fa5]+)這樣的正則匹配用{{#$1#}}去替換就行

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 伊金霍洛旗| 棋牌| 嫩江县| 长汀县| 沂南县| 三台县| 宁河县| 江华| 平陆县| 科技| 郸城县| 台州市| 保亭| 顺昌县| 安多县| 松滋市| 大化| 许昌市| 喀什市| 东兴市| 法库县| 民县| 青神县| 定边县| 丹寨县| 金沙县| 贞丰县| 靖安县| 黄浦区| 靖安县| 阳城县| 财经| 玉门市| 黄石市| 安塞县| 山东省| 阜阳市| 龙山县| 元谋县| 大城县| 朔州市|