[正则表达式]贪婪模式与非贪婪模式
[正则表达式]贪婪模式与非贪婪模式
发布时间:2016-12-29 来源:查字典编辑
摘要:复制代码代码如下:/****author:site120**function:getscriptpartfromhtmldocument**...

复制代码 代码如下:

/**

**author:site120

**function:getscriptpartfromhtmldocument

**/

varloadJs=function(str,delayTime)

{

vardelayTime=delayTime||100;

varregExp_scriptTag=newRegExp("<s*script([^>]*)>([sS]*?)</s*scripts*>","gi");

varregExp_scriptAttrib_src=newRegExp("s*src?s*=s*("([^"]+)"|'([^']+)'|s*([^s]+)s*)","gi");

vararr_scriptTag=null;

vararr_scriptAttib=null;

varscriptData="";

varjsList=newArray();

while((arr_scriptTag=regExp_scriptTag.exec(str))!=null)

{

while((arr_scriptAttib=regExp_scriptAttrib_src.exec(arr_scriptTag[1]))!=null)

{

if(arr_scriptAttib[3])

{

jsList.push(arr_scriptAttib[3]);

}

elseif(arr_scriptAttib[2])

{

jsList.push(arr_scriptAttib[2]);

}

else

{

jsList.push(arr_scriptAttib[1]);

}

}

scriptData+=(arr_scriptTag[2]);

}

for(vari=0;i<jsList.length;i++)

{

varscript=document.createElement("script");

script.src=jsList[i];

document.body.appendChild(script);

}

if(scriptData.length>0)

{

varfn="_siteFunction_"+newDate().getTime()+"_"+parseInt(Math.random()*10000)+"_120";

scriptData="var"+fn+"=function(){"+scriptData+"};"+fn+"();"

window.eval(scriptData);

}

}

这是用Js来处理正则表达式,原理与Java一样,

功能是读取一段网页源代码,并将它里面所有的script标签,截取并加载运行。

这里面的[sS]*?利用非贪婪模式来匹配最近script标签之间的所有代码。包括换行

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新正则表达式学习
热门正则表达式学习
编程开发子分类