佳木斯湛栽影视文化发展公司

主頁 > 知識(shí)庫 > [正則表達(dá)式]貪婪模式與非貪婪模式

[正則表達(dá)式]貪婪模式與非貪婪模式

熱門標(biāo)簽:阿里云 團(tuán)購網(wǎng)站 科大訊飛語音識(shí)別系統(tǒng) 電子圍欄 服務(wù)器配置 Linux服務(wù)器 Mysql連接數(shù)設(shè)置 銀行業(yè)務(wù)
復(fù)制代碼 代碼如下:

/**    
**   author: site120    
**   function : get script part from html document    
**/    
var loadJs = function(str , delayTime)     
{     
    var delayTime = delayTime || 100;     
    var regExp_scriptTag = new RegExp("<\\s*script([^>]*)>([\\s\\S]*?)</\\s*script\\s*>" , "gi");     
    var regExp_scriptAttrib_src = new RegExp("\\s*src?\\s*=\\s*(\"([^\"]+)\"|\'([^\']+)'|\\s*([^\\s]+)\\s*)" , "gi");     
    var arr_scriptTag = null;     
    var arr_scriptAttib = null;     
    var scriptData = "";     
    var jsList = new Array();     
    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]);     
            }     
            else if (arr_scriptAttib[2])     
            {     
                jsList.push(arr_scriptAttib[2]);     
            }     
            else    
            {     
                jsList.push(arr_scriptAttib[1]);     
            }     
        }     
        scriptData += (arr_scriptTag[2]);     
    }     
    for (var i=0; i<jsList.length; i++)     
    {     
        var script = document.createElement("script");     
        script.src = jsList[i];     
        document.body.appendChild(script);     
    }     
    if (scriptData.length > 0)     
    {     
        var fn = "_siteFunction_" + new Date().getTime() + "_" + parseInt(Math.random()*10000) + "_120";     
        scriptData = " var " + fn + " = function(){ " + scriptData + " };  "+fn+"();"    
        window.eval(scriptData);     
    }     
}   
 
這是用Js來處理正則表達(dá)式,原理與Java一樣,
功能是讀取一段網(wǎng)頁源代碼,并將它里面所有的script標(biāo)簽,截取并加載運(yùn)行。
這里面的[\s\S]*?利用非貪婪模式來匹配最近script標(biāo)簽之間的所有代碼。包括換行
您可能感興趣的文章:
  • 正則表達(dá)式之 貪婪與非貪婪模式詳解(概述)
  • 正則表達(dá)式(regex) 貪婪模式、懶惰模式使用方法
  • 小議正則表達(dá)式效率 貪婪、非貪婪與回溯
  • 淺談php正則表達(dá)式中的非貪婪模式匹配的使用
  • 正則表達(dá)式量詞與貪婪的使用詳解

標(biāo)簽:大理 廣元 蚌埠 衢州 衡水 棗莊 萍鄉(xiāng) 江蘇

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《[正則表達(dá)式]貪婪模式與非貪婪模式》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    无极县| 蒲城县| 合川市| 武陟县| 米林县| 紫云| 隆尧县| 阿城市| 肇州县| 衡阳市| 杨浦区| 满城县| 威信县| 上杭县| 大连市| 大田县| 班玛县| 利川市| 施甸县| 陆良县| 方城县| 岚皋县| 南京市| 县级市| 望都县| 万安县| 曲水县| 凤山市| 新营市| 荔波县| 中宁县| 台东市| 弥渡县| 台北县| 台中县| 平罗县| 托里县| 鲁山县| 阿坝| 潮安县| 榆林市|