日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

正则表达式获取body内容

發(fā)布時(shí)間:2024/4/14 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 正则表达式获取body内容 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

最近項(xiàng)目需要,要弄個(gè)正則表達(dá)式獲取body的內(nèi)容。

用過angularjs就知道,很多時(shí)候要寫指令時(shí)引用templateUrl的時(shí)候。template的內(nèi)容root是不能包含多個(gè)節(jié)點(diǎn)的,否則就報(bào)錯(cuò)。

這樣的規(guī)范很不好,很多時(shí)候還是想保留template的頭,文檔類型,css等信息。

所以在開發(fā)模式下,希望angularjs加載模板的時(shí)候,自動(dòng)砍掉頭部和尾部.

獲取之前:

<!DOCTYPE html> <html> <head lang="en"><meta charset="UTF-8"><title></title><script src="CssScriptLoader.js"></script><script src="XZClass.js"></script> </head> <body><div>內(nèi)容</div> </body> </html>

希望的結(jié)果:

<div>內(nèi)容</div>


所以正則表達(dá)式如下:

var REG_BODY = /<body[^>]*>([\s\S]*)<\/body>/;function getBody(content){var result = REG_BODY.exec(content);if(result && result.length === 2)return result[1];return content;}


這里遇到了個(gè)問題,match和exec的區(qū)別:

match是返回所有匹配的字符串合成的數(shù)組,但是正則表達(dá)式必須指定全局g屬性才能返回所有匹配,不指定g屬性則會(huì)返回一個(gè)只有一個(gè)元素的數(shù)組。

exec永遠(yuǎn)返回與第一個(gè)匹配相關(guān)的信息,其返回?cái)?shù)組包括第一個(gè)匹配的字串,所有分組的反向引用。

?

開始的時(shí)候,正則表達(dá)式后面我加了g,使用了match,死活獲取不到括號內(nèi)的內(nèi)容,莫名其妙,后面搜了match exec。我去,這兩個(gè)基友的區(qū)別真大!都怪當(dāng)時(shí)看JAVASCRIPT權(quán)威指南的時(shí)候太傲,忽略了細(xì)節(jié)。以后絕對要細(xì)心。

?

轉(zhuǎn)載于:https://www.cnblogs.com/geilishu/p/5125823.html

總結(jié)

以上是生活随笔為你收集整理的正则表达式获取body内容的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。