国产精品成人VA在线观看,亚洲日韩在线中文字幕综合,亚洲AV电影天堂男人的天堂,久久人人爽人人爽人人av东京热

News新聞

業(yè)界新聞動(dòng)態(tài)、技術(shù)前沿
Who are we?

您的位置:首頁(yè)      JS/JQ/AJAX      javascript正則表達(dá)式高級(jí)篇

javascript正則表達(dá)式高級(jí)篇

標(biāo)簽: 發(fā)布日期:2014-02-20 00:00:00 1098

javascript正則表達(dá)式

通過(guò)上面基礎(chǔ)篇和中級(jí)篇的學(xué)習(xí),我相信我們都能夠?qū)懗銎恋恼齽t了,但是一些特殊的功能也許還需要我們繼續(xù)往下學(xué)習(xí)這些高級(jí)篇的知識(shí)。

正則表達(dá)式的貪婪模式和懶惰模式:

貪婪模式和懶惰模式用言語(yǔ)很難講解清楚,我們這里使用例子的形式來(lái)進(jìn)行講解,當(dāng)然下面的一些知識(shí)也會(huì)以例子的形式來(lái)表達(dá)。

var regExp = /8.*8/;

var regExpTwo = /8.*?8/;

var str = "8google8 8google8 8google8";

var resultOne = regExp.exec(str); 此處的結(jié)果為google8 8google8 8google它盡量多的想要匹配得更多,所以為貪婪模式,其實(shí)是用了重復(fù)(區(qū)間)匹配的正則表達(dá)式都為貪婪模式;

var resultTwo = regExpTwo.exec(str); 此處的結(jié)果為google 它盡量少的匹配,所以為懶惰模式,在重復(fù)(區(qū)間)元素的后面加上?就變?yōu)橄鄳?yīng)的懶惰模式。

不在多說(shuō),相信你已經(jīng)能夠很好的理解正則表達(dá)式的貪婪和懶惰模式了。

正則表達(dá)式的兩條準(zhǔn)則:

1,當(dāng)正則表達(dá)式有嵌套的分組時(shí),分組由外向內(nèi)。

2,正則表達(dá)式中的特殊元素匹配時(shí)需要加上\

前瞻模式:

前瞻模式是指某個(gè)匹配后面必須跟著某個(gè)字符串,例子如下:

var regExp = /goo(?=gle)/;

var strOne = google;

var strTwo = googoo;

當(dāng)匹配第一個(gè)字符串時(shí)能匹配成功,而匹配第二個(gè)字符串時(shí)將匹配失敗,因?yàn)槟J揭?guī)定在goo后面必須要跟著gle,而且返回的結(jié)果為goo;

捕獲性分組和非捕獲性分組:

我們不做言語(yǔ)的講解直接上例子,例子如下:

var regExp = /(google)\s(2014)/;

var str = "google 2014";

regExp.exec(str); 此處獲得一個(gè)數(shù)組結(jié)果集,里面的元素分別為google 2014,google,2014;

如果regExp改為/(google)\s(?:2014)/,則數(shù)組中就只會(huì)包含兩個(gè)元素分別為google 2014,google

因?yàn)榈诙€(gè)分組為非捕獲性的分組

項(xiàng)目經(jīng)驗(yàn):

上面講解了一些特殊的正則表達(dá)式,也許在真正的項(xiàng)目中很少用到,但是掌握它們,能讓你的知識(shí)更加分豐富,遇到比較難的正則表達(dá)式不至于手足無(wú)措。