最近要用到獲取js函數的函數體,記錄如下:
function text(){
var i = 3;
.....
}
就是var i =3; 和...部分。
如果只有一層的{},那是很好實現的,以{起始標記,}為結束標記即可。
但對於有不確定多層的{}呢,如下:
function test2(p){
var i = 3;
if(i+p==10){
i = 10;
}else{
i=10-p;
}
console.log(i);
}
要獲取其函數體,正則表達式為:/\{([\s\S]*)\}$/,看下例:
網上有大神給出的正則是:
/(?:\/\*[\s\S]*?\*\/|\/\/.*?\r?\n|[^{])+\{([\s\S]*)\}$/
這個也是能獲取的,而且似乎應用範圍更廣,本人比較渣渣,不太理解+號前面部分的確切意思,而且我那個短小的也夠用,就不深究了,有大神懂的話,求指教解釋。
記錄到此,希望對大家有用,轉載隨意。
閱讀更多 文話教育 的文章