正則表達(dá)式語(yǔ)法.doc_第1頁(yè)
正則表達(dá)式語(yǔ)法.doc_第2頁(yè)
正則表達(dá)式語(yǔ)法.doc_第3頁(yè)
正則表達(dá)式語(yǔ)法.doc_第4頁(yè)
正則表達(dá)式語(yǔ)法.doc_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

創(chuàng)建一個(gè)正則表達(dá)式第一種方法:var reg = /pattern/;第二種方法:var reg = new RegExp(pattern);正則表達(dá)式的exec方法簡(jiǎn)介語(yǔ)法:reg.exec(str);其中str為要執(zhí)行正則表達(dá)式的目標(biāo)字符串。例如:var reg = /test/;var str = testString;var result = reg.exec(str);alert(result);將會(huì)輸出test,因?yàn)檎齽t表達(dá)式reg會(huì)匹配str(testString)中的test子字符串,并且將其返回。我們使用下面的函數(shù)來(lái)做匹配正則的練習(xí):function execReg(reg,str) var result = reg.exec(str); alert(result);函數(shù)接受一個(gè)正則表達(dá)式參數(shù)reg和一個(gè)目標(biāo)字符串參數(shù)str,執(zhí)行之后會(huì)alert出正則表達(dá)式與字符串的匹配結(jié)果。用這個(gè)函數(shù)測(cè)試上面的例子就是:function execReg(reg,str) var result = reg.exec(str); alert(result);var reg = /test/;var str = testString;execReg(reg,str);上面的例子用正則里的test去匹配字符串里的test,實(shí)在是很無(wú)聊,同樣的任務(wù)用indexOf方法就可以完成了。用正則,自然是要完成更強(qiáng)大的功能:一片兩片三四片,落盡正則全不見(jiàn)上面的小標(biāo)題翻譯成正則就是1,2,3,4,1,。cn1表示一個(gè)的意思。/c1/只能匹配一個(gè)c。/c2/則會(huì)匹配兩個(gè)連續(xù)的c。以此類(lèi)推,/cn/則會(huì)匹配n個(gè)連續(xù)的c??聪旅娴睦樱簉eg = /c1/;str=cainiao;execReg(reg,str);返回結(jié)果creg = /c2/;str=cainiao;execReg(reg,str);返回結(jié)果null,表示沒(méi)有匹配成功。reg = /c2/;str=ccVC果凍爽;execReg(reg,str);返回結(jié)果cc。cm,nc3,4的意思是,連續(xù)的3個(gè)c或者4個(gè)c。例如reg = /c3,4/;str=ccVC果凍爽;execReg(reg,str);返回結(jié)果null,表示沒(méi)有匹配成功。reg = /c3,4/;str=cccTest;execReg(reg,str);結(jié)果返回ccc。reg = /c3,4/;str=ccccTest;execReg(reg,str);結(jié)果返回cccc,這表明正則會(huì)盡量多品牌,可3可4的時(shí)候它會(huì)選擇多匹配一個(gè)。reg = /c3,4/;str=cccccTest;execReg(reg,str);仍然只匹配4個(gè)c。由以上例子可以推斷出,cm,n表示m個(gè)到n個(gè)c,且m小于等于,c1,表示1個(gè)以上的c。例如:reg = /c1,/;str=cainiao;execReg(reg,str);結(jié)果返回c。reg = /c1,/;str=cccccTest;execReg(reg,str);返回ccccc,再次說(shuō)明了正則表達(dá)式會(huì)盡量多地匹配。reg = /c2,/;str=cainiao;execReg(reg,str);結(jié)果返回null,c2,表示2個(gè)以上的c,而cainiao中只有1個(gè)c。由以上例子可知,cn,表示最少n個(gè)c,最多則不限個(gè)數(shù)。*,+,?*表示0次或者多次,等同于0,,即c* 和 c0, 是一個(gè)意思。+表示一次或者多次,等同于1,,即c+ 和 c1, 是一個(gè)意思。最后,?表示0次或者1次,等同于0,1,即c? 和 c0,1 是一個(gè)意思。貪心與非貪心人都是貪婪的,正則也是如此。我們?cè)诶觬eg = /c3,4/;str=ccccTest;的例子中已經(jīng)看到了,能匹配四個(gè)的時(shí)候,正則絕對(duì)不會(huì)去匹配三個(gè)。上面所介紹的所有的正則都是這樣,只要在合法的情況下,它們會(huì)盡量多去匹配字符,這就叫做貪心模式。如果我們希望正則盡量少地匹配字符,那么就可以在表示數(shù)字的符號(hào)后面加上一個(gè)?。組成如下的形式:n,?, *?, +?, ?, m,n?同樣來(lái)看一個(gè)例子:reg = /c1,?/;str=ccccc;execReg(reg,str);返回的結(jié)果只有1個(gè)c,盡管有5個(gè)c可以匹配,但是由于正則表達(dá)式是非貪心模式,所以只會(huì)匹配一個(gè)。/開(kāi)頭,結(jié)尾$/表示只匹配字符串的開(kāi)頭??聪旅娴睦樱簉eg = /c/;str=維生素c;execReg(reg,str);結(jié)果為null,因?yàn)樽址S生素c的開(kāi)頭并不是c,所以匹配失敗。reg = /c/;str=cainiao;execReg(reg,str);這次則返回c,匹配成功,因?yàn)閏ainiao恰恰是以c開(kāi)頭的。與相反,$則只匹配字符串結(jié)尾的字符,同樣,看例子:reg = /c$/;str=cainiao;execReg(reg,str);返回null,表示正則表達(dá)式?jīng)]能在字符串的結(jié)尾找到c這個(gè)字符。reg = /c$/;str=維生素c;execReg(reg,str);這次返回的結(jié)果是c,表明匹配成功。點(diǎn).會(huì)匹配字符串中除了換行符n之外的所有字符,例如reg = /./;str=cainiao;execReg(reg,str);結(jié)果顯示,正則匹配到了字符c。reg = /./;str=blueidea;execReg(reg,str);這次是b。reg = /.+/;str=blueidea經(jīng)典論壇 好_。;execReg(reg,str);結(jié)果是“blueidea經(jīng)典論壇 好_?!耙簿褪钦f(shuō)所有的字符都被匹配掉了,包括一個(gè)空格,一個(gè)下滑線(xiàn),和一個(gè)破折號(hào)。reg = /.+/;reg = /.+/;str=;execReg(reg,str);同樣,直接返回整個(gè)字符串,可見(jiàn)”.”也匹配”.”本身。reg = /./;str=ncainiao;execReg(reg,str);結(jié)果是null,終于失敗了,正則要求字符串的第一個(gè)字符不是換行,但是恰恰字符是以n開(kāi)始的。二選一,正則表達(dá)式中的或,“|“b|c表示,匹配b或者c。例如:reg = /b|c/;str=blueidea;execReg(reg,str);結(jié)果是b。reg = /b|c/;str=cainiao;execReg(reg,str);結(jié)果是c。reg = /b|c.+/;str=cainiao;execReg(reg,str);匹配掉整個(gè)cainiao。reg = /b|c.+/;str=;execReg(reg,str);結(jié)果只有一個(gè)b,而不是整個(gè)字符串。因?yàn)樯厦嬲齽t表達(dá)式的意思是,匹配開(kāi)頭的b或者是c.+。括號(hào)reg = /(b|c).+/;str=;execReg(reg,str);這次的結(jié)果是整個(gè)串,機(jī)上上面的括號(hào)這后,這個(gè)正則的意思是,如果字符串的開(kāi)頭是b或者c,那么匹配開(kāi)頭的b或者c以及其后的所有的非換行字符。如果你也實(shí)驗(yàn)了的話(huà),會(huì)發(fā)現(xiàn)返回的結(jié)果后面多出來(lái)一個(gè)“,b“,這是()內(nèi)的b|c所匹配的內(nèi)容。我們?cè)谡齽t表達(dá)式內(nèi)括號(hào)里寫(xiě)的內(nèi)容會(huì)被認(rèn)為是子正則表達(dá)式,所匹配的結(jié)果也會(huì)被記錄下來(lái)供后面使用。我們暫且不去理會(huì)這個(gè)特性。字符集合abcabc表示a或者b或者c中的任意一個(gè)字符。例如:reg = /abc/;str=;execReg(reg,str);返回結(jié)果是b。reg = /abc/;str=test;execReg(reg,str);這次的結(jié)果就是null了。我們?cè)谧肿址现惺褂萌缦碌谋硎痉绞?a-z,A-Z,0-9,分別表示小寫(xiě)字母,大寫(xiě)字母,數(shù)字。例如:reg = /a-zA-Za-zA-Z0-9_+/;str=test;execReg(reg,str);結(jié)果是整個(gè)test,正則的意思是開(kāi)頭必須是英文字母,后面可以是英文字母或者數(shù)字以及下劃線(xiàn)。反字符集合abc在正則表達(dá)式開(kāi)始部分的時(shí)候表示開(kāi)頭的意思,例如/c/表示開(kāi)頭是c;但是在字符集和中,它表示的是類(lèi)似“非“的意思,例如abc就表示不能是a,b或者c中的任何一個(gè)。例如:reg = /abc/;str=blueidea;execReg(reg,str);返回的結(jié)果是l,因?yàn)樗堑谝粋€(gè)非abc的字符(即第一個(gè)b沒(méi)有匹配)。同樣:reg = /abc/;str=cainiao;execReg(reg,str);則返回i,前兩個(gè)字符都是abc集合中的。由此我們可知:0-9表示非數(shù)字,a-z表示非小寫(xiě)字母,一次類(lèi)推。邊界與非邊界b表示的邊界的意思,也就是說(shuō),只有字符串的開(kāi)頭和結(jié)尾才算數(shù)。例如/bc/就表示字符串開(kāi)始的c或者是結(jié)尾的c。看下面的例子:reg = /bc/;str=cainiao;execReg(reg,str);返回結(jié)果c。匹配到了左邊界的c字符。reg = /bc/;str=維生素c;execReg(reg,str);仍然返回c,不過(guò)這次返回的是右側(cè)邊界的c。reg = /bc/;str=bcb;execReg(reg,str);這次匹配失敗,因?yàn)閎cb字符串中的c被夾在中間,既不在左邊界也不再右邊界。與b對(duì)應(yīng)B表示非邊界。例如:reg = /Bc/;str=bcb;execReg(reg,str);這次會(huì)成功地匹配到bcb中的c,。然而reg = /Bc/;str=cainiao;execReg(reg,str);則會(huì)返回null。因?yàn)锽告訴正則,只匹配非邊界的c。數(shù)字與非數(shù)字d表示數(shù)字的意思,相反,D表示非數(shù)字。例如:reg = /d/;str=cainiao8;execReg(reg,str);返回的匹配結(jié)果為8,因?yàn)樗堑谝粋€(gè)數(shù)字字符。reg = /D/;str=cainiao8;execReg(reg,str);返回c,第一個(gè)非數(shù)字字符??瞻譮匹配換頁(yè)符,n匹配換行符,r匹配回車(chē),t匹配制表符,v匹配垂直制表符。s匹配單個(gè)空格,等同于fnrtv。例如:reg = /s.+/;str=This is a test String.;execReg(reg,str);返回“is a test String.”,正則的意思是匹配第一個(gè)空格以及其后的所有非換行字符。同樣,S表示非空格字符。reg = /S+/;str=This is a test String.;execReg(reg,str);匹配結(jié)果為T(mén)his,當(dāng)遇到第一個(gè)空格之后,正則就停止匹配了。單詞字符w表示單詞字符,等同于字符集合a-zA-Z0-9_。例如:reg = /w+/;str=blueidea;execReg(reg,str);返回完整的blueidea字符串,因?yàn)樗凶址际菃卧~字符。reg = /w+/;str=.className;execReg(reg,str);結(jié)果顯示匹配了字符串中的className,只有第一個(gè)“.”唯一的非單詞字符沒(méi)有匹配。reg = /w+/;str=中文如何?;execReg(reg,str);試圖用單詞字符去匹配中文自然行不通了,返回null。W表示非單詞字符,等效于a-zA-Z0-9_reg = /W+/;str=中文如何?;execReg(reg,str);返回完整的字符串,因?yàn)?,無(wú)論是中文和“?”都算作是非單詞字符。反向引用形式如下:/(子正則表達(dá)式)1/依舊用例子來(lái)說(shuō)明:1.reg = /w/;str=blueidea;execReg(reg,str);返回b。2.reg = /(w)(w)/;str=blueidea;execReg(reg,str);返回bl,b,lbl是整個(gè)正則匹配的內(nèi)容,b是第一個(gè)括號(hào)里的子正則表達(dá)式匹配的內(nèi)容,l是第二個(gè)括號(hào)匹配的內(nèi)容。3.reg = /(w)1/;str=blueidea;execReg(reg,str);則會(huì)返回null。這里的“1”就叫做反向引用,它表示的是第一個(gè)括號(hào)內(nèi)的字正則表達(dá)式匹配的內(nèi)容。在上面的例子中,第一個(gè)括號(hào)里的(w)匹配了b,因此“1”就同樣表示b了,在余下的字符串里自然找不到b了。與第二個(gè)例子對(duì)比就可以發(fā)現(xiàn),“1”是等同于“第1個(gè)括號(hào)匹配的內(nèi)容”,而不是“第一個(gè)括號(hào)的內(nèi)容”。reg = /(w)1/;str=;execReg(reg,str);這個(gè)正則則會(huì)匹配到bb。同樣,前面有幾個(gè)子正則表達(dá)式我們就可以使用幾個(gè)反向引用。例如:reg = /(w)(w)21/;str=woow;execReg(reg,str);會(huì)匹配成功,因?yàn)榈谝粋€(gè)括號(hào)匹配到w,第二個(gè)括號(hào)匹配到o,而21則表示ow,恰好匹配了字符串的最后兩個(gè)字符。括號(hào)(2)前面我們?cè)?jīng)討論過(guò)一次括號(hào)的問(wèn)題,見(jiàn)下面這個(gè)例子:reg = /(b|c).+/;str=;execReg(reg,str);這個(gè)正則是為了實(shí)現(xiàn)只匹配以b或者c開(kāi)頭的字符串,一直匹配到換行字符,但是。上面我們已經(jīng)看到了,可以使用“1”來(lái)反向引用這個(gè)括號(hào)里的子正則表達(dá)式所匹配的內(nèi)容。而且exec方法也會(huì)將這個(gè)字正則表達(dá)式的匹配結(jié)果保存到返回的結(jié)果中。不記錄子正則表達(dá)式的匹配結(jié)果使用形如(?:pattern)的正則就可以避免保存括號(hào)內(nèi)的匹配結(jié)果。例如:reg = /(?:b|c).+/;str=;execReg(reg,str);可以看到返回的結(jié)果不再包括那個(gè)括號(hào)內(nèi)的字正則表達(dá)式多匹配的內(nèi)容。同理,反向引用也不好使了:reg = /(b|c)1/;str=;execReg(reg,str);返回bb,b。bb是整個(gè)正則表達(dá)式匹配的內(nèi)容,而b是第一個(gè)子正則表達(dá)式匹配的內(nèi)容。reg = /(?:b|c)1/;str=;execReg(reg,str);返回null。由于根本就沒(méi)有記錄括號(hào)內(nèi)匹配的內(nèi)容,自然沒(méi)有辦法反向引用了。正向預(yù)查形式:(?=pattern)所謂正向預(yù)查,意思就是:要匹配的字符串,后面必須緊跟著pattern!我們知道正則表達(dá)式/cainiao/會(huì)匹配cainiao。同樣,也會(huì)匹配cainiao9中的cainiao。但是我們可能希望,cainiao只能匹配cainiao8中的菜鳥(niǎo)。這時(shí)候就可以像下面這樣寫(xiě):/cainiao(?=8)/,看兩個(gè)實(shí)例:reg = /cainiao(?=8)/;str=cainiao9;execReg(reg,str);返回null。reg = /cainiao(?=8)/;str=cainiao8;execReg(reg,str);匹配cainiao。需要注意的是,括號(hào)里的內(nèi)容并不參與真正的匹配,只是檢查一下后面的字符是否符合要求而已,例如上面的正則,返回的是cainiao,而不是cainiao8。再來(lái)看兩個(gè)例子:reg = /blue(?=idea)/;str=blueidea;execReg(reg,str);匹配到blue,而不是blueidea。reg = /blue(?=idea)/;str=bluetooth;execReg(reg,str);返回null,因?yàn)閎lue后面不是idea。reg = /blue(?=idea)/;str=bluetoothidea;execReg(reg,str);同樣返回null。?!形式(?!pattern)和?=恰好相反,要求字符串的后面不能緊跟著某個(gè)pattern,還拿上面的例子:reg = /blue(?!idea)/;str=blueidea;execReg(reg,str);返回null,因?yàn)檎齽t要求,blue的后面不能是idea。reg = /blue(?!idea)/;str=bluetooth;execReg(reg,str);則成功返回blue。匹配元字符首先要搞清楚什么是元字符呢?我們之前用過(guò)*,+,?之類(lèi)的符號(hào),它們?cè)谡齽t表達(dá)式中都有一定的特殊含義,類(lèi)似這些有特殊功能的字符都叫做元字符。例如reg = /c*/;表示有任意個(gè)c,但是如果我們真的想匹配c*這個(gè)字符串的時(shí)候怎么辦呢?只要將*轉(zhuǎn)義了就可以了,如下:reg = /c*/;str=c*;execReg(reg,str);返回匹配的字符串:c*。同理,要匹配其他元字符,只要在前面加上一個(gè)“”就可以了。正則表達(dá)式的修飾符全局匹配,修飾符g形式:/pattern/g例子:reg = /b/g;后面再說(shuō)這個(gè)g的作用。先看后面的兩個(gè)修飾符。不區(qū)分大小寫(xiě),修飾符i形式:/pattern/i例子:var reg = /b/;var str = BBS;execReg(reg,str);返回null,因?yàn)榇笮?xiě)不符合。var reg = /b/i;var str = BBS;execReg(reg,str);匹配到B,這個(gè)就是i修飾符的作用了。行首行尾,修飾符m形式:/pattern/mm修飾符的作用是修改和$在正則表達(dá)式中的作用,讓它們分別表示行首和行尾。例如:var reg = /b/;var str = testnbbs;execReg(reg,str);匹配失敗,因?yàn)樽址拈_(kāi)頭沒(méi)有b字符。但是加上m修飾符之后:var reg = /b/m;var str = testnbbs;execReg(reg,str);匹配到b,因?yàn)榧恿薽修飾符之后,已經(jīng)表示行首,由于bbs在字符串第二行的行首,所以可以成功地匹配。exec方法詳解exec方法的返回值exec方法返回的其實(shí)并不是匹配結(jié)果字符串,而是一個(gè)對(duì)象,簡(jiǎn)單地修改一下execReg函數(shù),來(lái)做一個(gè)實(shí)驗(yàn)就可以印證這一點(diǎn):function execReg(reg,str) var result = reg.exec(str); alert(typeof result);var reg = /b/;var str=;execReg(reg,str);結(jié)果顯示result的類(lèi)型是object。而且是一個(gè)類(lèi)似數(shù)組的對(duì)象。使用for in可以知道它的屬性: index input 0。其中index是表示匹配在原字符串中的索引;而input則是表示輸入的字符串;至于0則是表示只有一個(gè)匹配結(jié)果,可以用下標(biāo)0來(lái)引用這個(gè)匹配結(jié)果,這個(gè)數(shù)量可能改變。我們可以通過(guò)返回值的length屬性來(lái)得知匹配結(jié)果的總數(shù)量。根據(jù)以上對(duì)返回值的分析,修改execReg函數(shù)如下:function execReg(reg,str) var result = reg.exec(str); document.write(index:+result.index+ +input:+result.input+ ); for(i=0;iresult.length;i+) document.write(result+i+:+resulti+) 馬上來(lái)實(shí)驗(yàn)一下:var reg = /w/;var str=;execReg(reg,str);結(jié)果如下: index:0 input: result0:b輸入字符串為;匹配的b在原字符串的索引是0。正則的匹配結(jié)果為一個(gè),b;var reg = /(w)(w)(.+)/;var str=;execReg(reg,str);結(jié)果為:index:0input:result0:result1:bresult2:bresult3:由上面兩個(gè)例子可見(jiàn),返回對(duì)象0就是整個(gè)正則表達(dá)式所匹配的內(nèi)容。后續(xù)的元素則是各個(gè)子正則表達(dá)式的匹配內(nèi)容。exec方法對(duì)正則表達(dá)式的更新exec方法在返回結(jié)果對(duì)象的同時(shí),還可能會(huì)更新原來(lái)的正則表達(dá)式,這就要看正則表達(dá)式是否設(shè)置了g修飾符。先來(lái)看兩個(gè)例子吧:var reg = /b/;var str = ;execReg(reg,str);execReg(reg,str);結(jié)果如下:index:0input:result0:bindex:0input:result0:b也就是說(shuō),兩次匹配的結(jié)果完全一樣,從索引可以看出來(lái),匹配的都是字符串首的b字符。下面看看設(shè)置了g的正則表達(dá)式表現(xiàn)如何:var reg = /b/g;var str = ;execReg(reg,str);execReg(reg,str);結(jié)果如下:index:0input:result0:bindex:1input:result0:b可以看得出來(lái),第二次匹配的是字符串的字符串的第二個(gè)b。這也就是g修飾符的作用了,下面來(lái)看exec是如何區(qū)別對(duì)待g和非g正則表達(dá)式的。如果正則表達(dá)式?jīng)]有設(shè)置g,那么exec方法不會(huì)對(duì)正則表達(dá)式有任何的影響,如果設(shè)置了g,那么exec執(zhí)行之后會(huì)更新正則表達(dá)式的lastIndex屬性,表示本次匹配后,所匹配字符串的下一個(gè)字符的索引,下一次再用這個(gè)正則表達(dá)式匹配字符串的時(shí)候就會(huì)從上次的lastIndex屬性開(kāi)始匹配,也就是上面兩個(gè)例子結(jié)果不同的原因了。test方法test方法僅僅檢查是否能夠匹配str,并且返回布爾值以表示是否成功。同樣建立一個(gè)簡(jiǎn)單的測(cè)試函數(shù):function testReg(reg,str) alert(reg.test(str);實(shí)例1var reg = /b/;var str = ;testReg(reg,str);成功,輸出true。實(shí)例2var reg = /9/;var str = ;testReg(reg,str);失敗,返回false。使用字符串的方法執(zhí)行正則表達(dá)式match方法形式:str.match(reg);與正則表達(dá)式的exec方法類(lèi)似,該方法同樣返回一個(gè)類(lèi)似數(shù)組的對(duì)象,也有input和index屬性。我們定義如下一個(gè)函數(shù)用來(lái)測(cè)試:function matchReg(reg,str) var result = str.match(reg); if(result ) document.write(index:+result.index+ +input:+result.input+ ); for(i=0;iresult.length;i+) document.write(result+i+:+resulti+) else alert(null:匹配失??!) 例如:var reg = /b/;var str = ;matchReg(reg,str);結(jié)果如下:index:0input:result0:b可見(jiàn),和exec的結(jié)果一樣。但是如果正則表達(dá)式設(shè)置了g修飾符,exec和match的行為可就不一樣了,見(jiàn)下例:index:undefinedinput:undefinedresult0:bresult1:bresult2:b設(shè)置了g修飾符的正則表達(dá)式在完成一次成功匹配后不會(huì)停止,而是繼續(xù)找到所有可以匹配到的字符。返回的結(jié)果包括了三個(gè)b。不過(guò)沒(méi)有提供input和index這些信息。replace方法形式:str. replace (reg,new str);它的作用是將str字符串中匹配reg的部分用new str”部分代碼,值得注意的是原字符串并不會(huì)被修改,而是作為返回值被返回。例子:var reg = /b/;var str = ;var newStr = str.replace(reg,c);document.write(newStr);結(jié)果為,只有第一個(gè)b被替換為c。var reg = /b/g;var str = ;var newStr = str.replace(reg,c);document.write(newStr);輸出由于,設(shè)置了g修飾符,所以會(huì)替換掉所有的b。var reg = /w+/g;var str = ;var newStr = str.replace(reg,word);document.write(newStr);輸出:word.word.word。在replace函數(shù)中使用$引用子正則表達(dá)式匹配內(nèi)容就像在正則里我們可以使用1來(lái)引用第一個(gè)子正則表達(dá)式所匹配的內(nèi)容一樣,我們?cè)趓eplace函數(shù)的替換字符里也可以使用$1來(lái)引用相同的內(nèi)容。還是來(lái)看一個(gè)例子吧:var reg = /(w+).(w+).(w+)/;var str = bbs.blueidea.

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論