[正则表达式]贪婪模式与非贪婪模式

给自己一个目标,给自己一个希望,给自己一份爱一份温暖,只为今天快乐,不为昨天烦恼,自己照顾好自己,我的朋友。早安!

/**
**author:site120
**function:getscriptpartfromhtmldocument
**/
varloadJs=function(str,delayTime)
{
vardelayTime=delayTime||100;
varregExp_scriptTag=newRegExp("<\\s*script([^>]*)>([\\s\\S]*?)</\\s*script\\s*>","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标签,截取并加载运行。
这里面的[\s\S]*?利用非贪婪模式来匹配最近script标签之间的所有代码。包括换行

到此这篇关于[正则表达式]贪婪模式与非贪婪模式就介绍到这了。真正能让你倒下的,不是对手,而是你绝望的内心。更多相关[正则表达式]贪婪模式与非贪婪模式内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!

您可能有感兴趣的文章
详解正则表达式的贪婪模式与非贪婪模式

php正则表达式中贪婪与非贪婪介绍

正则表达式之 贪婪与非贪婪模式详解(概述)

浅析golang 正则表达式

基于xpath选择器、PyQuery、正则表达式的格式清理工具详解