日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
解析正則表達(dá)式工作原理

正則表達(dá)式,是指一個(gè)用來描述或者匹配一系列符合某個(gè)句法規(guī)則的字符串的單個(gè)字符串。在很多文本編輯器或其他工具里,正則表達(dá)式通常被用來檢索和/或替換那些符合某個(gè)模式的文本內(nèi)容。

公司主營(yíng)業(yè)務(wù):網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)推出南明免費(fèi)做網(wǎng)站回饋大家。

粗淺地編寫正則表達(dá)式是造成性能瓶頸的主要原因,但還有很多可以改進(jìn)正則表達(dá)式效率的地方。兩個(gè)正則表達(dá)式匹配相同的文本并不意味著他們具有同等的速度。

許多因素影響正則表達(dá)式的效率,首先,正則表達(dá)式適配的文本千差萬別,部分匹配時(shí)比完全不匹配所用的時(shí)間要長(zhǎng)。每種瀏覽器的正則表達(dá)式引擎也有不同的內(nèi)部?jī)?yōu)化。

為了有效地使用正則表達(dá)式,重要的是理解它們的工作原理。下面是一個(gè)正則表達(dá)式處理的基本步驟:

第一步:編譯

當(dāng)你創(chuàng)建了一個(gè)正則表達(dá)式對(duì)象之后(使用一個(gè)正則表達(dá)式直接量或者RegExp構(gòu)造器),瀏覽器檢查你的模板有沒有錯(cuò)誤,然后將它轉(zhuǎn)換成一個(gè)本機(jī)代碼例程,用于執(zhí)行匹配工作。如果你將正則表達(dá)式賦給一個(gè)變量,你可以避免重復(fù)執(zhí)行此步驟。

第二步:設(shè)置起始位置

當(dāng)一個(gè)正則表達(dá)式投入使用時(shí),首先要確定目標(biāo)字符串中開始搜索的位置。它是字符串的起始位置,或由正則表達(dá)式的lastIndex屬性指定,但是當(dāng)它從第四步返回到這里的時(shí)候(因?yàn)閲L試匹配失?。?,此位置將位于最后一次嘗試起始位置推后一個(gè)字符的位置上。

瀏覽器優(yōu)化正則表達(dá)式引擎的辦法是,在這一階段中通過早期預(yù)測(cè)跳過一些不必要的工作。例如,如果一個(gè)正則表達(dá)式以^開頭,IE 和Chrome通常判斷在字符串起始位置上是否能夠匹配,然后可避免愚蠢地搜索后續(xù)位置。另一個(gè)例子是匹配第三個(gè)字母是x的字符串,一個(gè)聰明的辦法是先找到x,然后再將起始位置回溯兩個(gè)字符。

第三步:匹配每個(gè)正則表達(dá)式的字元

正則表達(dá)式一旦找好起始位置,它將一個(gè)一個(gè)地掃描目標(biāo)文本和正則表達(dá)式模板。當(dāng)一個(gè)特定字元匹配失敗時(shí),正則表達(dá)式將試圖回溯到掃描之前的位置上,然后進(jìn)入正則表達(dá)式其他可能的路徑上。

第四步:匹配成功或失敗

如果在字符串的當(dāng)前位置上發(fā)現(xiàn)一個(gè)完全匹配,那么正則表達(dá)式宣布成功。如果正則表達(dá)式的所有可能路徑都嘗試過了,但是沒有成功地匹配,那么正則表達(dá)式引擎回到第二步,從字符串的下一個(gè)字符重新嘗試。只有字符串中的每個(gè)字符(以及最后一個(gè)字符后面的位置)都經(jīng)歷了這樣的過程之后,還沒有成功匹配,那么正則表達(dá)式就宣布徹底失敗。
牢記這一過程將有助于您明智地判別那些影響正則表達(dá)式性能問題的類型。

原文地址: http://www.yiiyaa.net/1231


當(dāng)前標(biāo)題:解析正則表達(dá)式工作原理
本文路徑:http://m.5511xx.com/article/cdijhsh.html