国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

JavaScript正則表達(dá)式的匹配模式

wqj97 / 723人閱讀

摘要:選擇分組和引用正則表達(dá)式的語(yǔ)法還包括指定選擇項(xiàng)子表達(dá)式分組和引用前一子表達(dá)式的特殊字符。帶圓括號(hào)的表達(dá)式的另一個(gè)用途是允許在同一正則表達(dá)式的后部引用前面的子表達(dá)式。

正則表達(dá)式(regular expression)是一個(gè)描述字符模式的對(duì)象。JavaScript的 RegExp類 表示正則表達(dá)式,String和RegExp都定義了方法,后者使用正則表達(dá)式進(jìn) 行強(qiáng)大的模式匹配文本檢索與替換功能。JavaScript的正則表達(dá)式語(yǔ)法是Perl5的正則表達(dá)式語(yǔ)法的大型子集,所以對(duì)于有Perl編程經(jīng)驗(yàn)的程序員來(lái)說(shuō),學(xué)習(xí)JavaScript 中的正則表達(dá)式[1]是小菜一碟。

定義

JavaScript中的正則表達(dá)式用 RegExp對(duì)象 表示,可以使用RegExp()構(gòu)造函數(shù)來(lái)創(chuàng) 建RegExp對(duì)象,不過(guò)RegExp對(duì)象更多的是通過(guò)一種特殊的直接量語(yǔ)法來(lái)創(chuàng)建。就像通過(guò)引號(hào)包裹字符的方式來(lái)定義字符串直接量一樣,正則表達(dá)式直接量定義為包含在一對(duì)斜杠 (/) 之間的字符,例如:

var pattern=/s$/;

運(yùn)行這段代碼創(chuàng)建一個(gè)新的RegExp對(duì)象,并將它賦值給變量pattern。這個(gè)特殊 的RegExp對(duì)象用來(lái)匹配所有以字母“s”結(jié)尾的字符串。用構(gòu)造函數(shù)RegExp()也可以 定義個(gè)與之等價(jià)的正則表達(dá)式,代碼如下:

var pattern=new RegExp(“s$”);

正則表達(dá)式直接量則與此不同,ECMAScript 3規(guī)范規(guī)定,一個(gè)正則表達(dá)式直接 量會(huì)在執(zhí)行到它時(shí)轉(zhuǎn)換為一個(gè)RegExp對(duì)象,同一段代碼所表示正則表達(dá)式直接量的 每次運(yùn)算都返回同一個(gè)對(duì)象。ECMAScript 5規(guī)范則做了相反的規(guī)定,同一段代碼所 表示的正則表達(dá)式直接量的每次運(yùn)算都返回新對(duì)象。IE一直都是按照ECMAScript 5 規(guī)范實(shí)現(xiàn)的,多數(shù)最新版本的瀏覽器也開(kāi)始遵循ECMAScript 5。

高級(jí)語(yǔ)法 非貪婪的重復(fù)

一般匹配重復(fù)字符是盡可能多地匹配,而且允許后續(xù)的正則表達(dá)式 繼續(xù)匹配。因此,我們稱之為“貪婪的”匹配。我們同樣可以使用正則表達(dá)式進(jìn)行非貪婪匹配。只須在待匹配的字符后跟隨一個(gè)問(wèn)號(hào)即 可:“??”、“+?”、“*?”或“{1,5}?”。比如,正則表達(dá)式/a+/可以匹配一個(gè)或多個(gè)連續(xù) 的字母a。當(dāng)使用“aaa”作為匹配字符串時(shí),正則表達(dá)式會(huì)匹配它的三個(gè)字符。但 是/a+?/也可以匹配一個(gè)或多個(gè)連續(xù)字母a,但它是盡可能少地匹配。我們同樣 將“aaa”作為匹配字符串,但后一個(gè)模式只能匹配第一個(gè)a。

使用非貪婪的匹配模式所得到的結(jié)果可能和期望并不一致。考慮以下正則表達(dá) 式/a+b/,它可以匹配一個(gè)或多個(gè)a,以及一個(gè)b。當(dāng)使用“aaab”作為匹配字符串時(shí), 它會(huì)匹配整個(gè)字符串。現(xiàn)在再試一下非貪婪匹配的版本/a+?b/,它匹配盡可能少的a 和一個(gè)b。當(dāng)用它來(lái)匹配“aaab”時(shí),你期望它能匹配一個(gè)a和最后一個(gè)b。但實(shí)際上, 這個(gè)模式卻匹配了整個(gè)字符串,和該模式的貪婪匹配一模一樣。這是因?yàn)檎齽t表達(dá) 式的模式匹配總是會(huì)尋找字符串中第一個(gè)可能匹配的位置。由于該匹配是從字符串的第一個(gè)字符開(kāi)始的,因此在這里不考慮它的子串中更短的匹配。

選擇、分組和引用

正則表達(dá)式的語(yǔ)法還包括指定選擇項(xiàng)、子表達(dá)式分組引用前一子表達(dá)式的特殊字符。字符“|”用于分隔供選擇的字符。例如,/ab|cd|ef/ 可以匹配字符串“ab”,也 可以匹配字符串“cd”,還可以匹配字符串“ef”。/d{3}|[a-z]{4}/匹配的是三位數(shù)字或 者四個(gè)小寫字母。

注意,選擇項(xiàng)的嘗試匹配次序是從左到右,直到發(fā)現(xiàn)了匹配項(xiàng)。如果左邊的選擇項(xiàng)匹配,就忽略右邊的匹配項(xiàng),即使它產(chǎn)生更好的匹配。因此,當(dāng)正則表達(dá)式 /a|ab/匹配字符串“ab”時(shí),它只能匹配第一個(gè)字符。

正則表達(dá)式中的圓括號(hào)有多種作用。一個(gè)作用是把多帶帶的項(xiàng)組合成子表達(dá)式, 以便可以像處理一個(gè)獨(dú)立的單元那樣用“|”、“*”、“+”或者“?”等來(lái)對(duì)單元內(nèi)的項(xiàng)進(jìn)行處理。例如, /java(script)?/ 可以匹配字符串“java”,其后可以有“script”也可以沒(méi)有。/(ab|cd)+|ef/ 可以匹配字符串“ef”,也可以匹配字符串“ab”或“cd”的一次或多次重復(fù)。

在正則表達(dá)式中,圓括號(hào)的另一個(gè)作用是在完整的模式中定義子模式。當(dāng)一個(gè)正則表達(dá)式成功地和目標(biāo)字符串相匹配時(shí),可以從目標(biāo)串中抽出和圓括號(hào)中的子模式相匹配的部分。例如,假定我們正在檢索的模式是一個(gè)或多個(gè)小寫字母后面跟隨了一位或多位數(shù)字, 則可以使用模式 /[a-z]+d+/。但假定我們真正關(guān)心的是每個(gè)匹配尾部的數(shù)字,那么如果將模式的數(shù)字部分放在括號(hào)中 (/[a-z]+(d+)/) ,就可以從檢索到的匹配中抽取數(shù)字 了,之后我們會(huì)有詳盡的解釋。

帶圓括號(hào)的表達(dá)式的另一個(gè)用途是允許在同一正則表達(dá)式的后部引用前面的子表達(dá)式。這是通過(guò)在字符 “” 后加一位或多位數(shù)字來(lái)實(shí)現(xiàn)的。這個(gè)數(shù)字指定了帶圓括 號(hào)的子表達(dá)式在正則表達(dá)式中的位置。例如,1引用的是第一個(gè)帶圓括號(hào)的子表達(dá) 式,3 引用的是第三個(gè)帶圓括號(hào)的子表達(dá)式。注意,因?yàn)樽颖磉_(dá)式可以嵌套另一個(gè)子表達(dá)式,所以它的位置是參與計(jì)數(shù)的左括號(hào)的位置。例如,在下面的正則表達(dá)式 中,嵌套的子表達(dá)式 ([Ss]cript) 可以用 2來(lái)指代:

/([Jj]ava([Ss]cript)?)siss(funw*)/

對(duì)正則表達(dá)式中前一個(gè)子表達(dá)式的引用,并不是指對(duì)子表達(dá)式模式的引用,而指的是與那個(gè)模式相匹配的文本的引用。這樣,引用可以用于實(shí)施一條約束,即一個(gè)字符串各個(gè)多帶帶部分包含的是完全相同的字符。例如,下面的正則表達(dá)式匹配的就是位于單引號(hào)或雙引號(hào)之內(nèi)的0個(gè)或多個(gè)字符。但是,它并不要求左側(cè)和右側(cè)的引號(hào)匹配(即,加入的兩個(gè)引號(hào)都是單引號(hào)或都是雙引號(hào)):

/[’”][^’”]*[’”]/

如果要匹配左側(cè)和右側(cè)的引號(hào),可以使用如下的引用:

/([’”])[^’”]*1/

1 匹配的是第一個(gè)帶圓括號(hào)的子表達(dá)式所匹配的模式。在這個(gè)例子中,存在這樣一條約束,那就是左側(cè)的引號(hào)必須和右側(cè)的引號(hào)相匹配。正則表達(dá)式不允許用雙引號(hào)括起的內(nèi)容中有單引號(hào),反之亦然。不能在字符類中使用這種引用,所以下面的寫法是非法的:

/([’”])[^1]*1/

同樣,在正則表達(dá)式中不用創(chuàng)建帶數(shù)字編碼的引用,也可以對(duì)子表達(dá)式進(jìn)行分組。它不是以“(”和“)”進(jìn)行分組,而是以“(?:”和“)”來(lái)進(jìn)行分組,比如,考慮下面這 個(gè)模式:

/([Jj]ava(?:[Ss]cript)?)siss(funw*)/

這里,子表達(dá)式 (?:[Ss]cript) 僅僅用于分組,因此復(fù)制符號(hào)”?”可以應(yīng)用到各個(gè)分 組。這種改進(jìn)的圓括號(hào)并不生成引用,所以在這個(gè)正則表達(dá)式中,2 引用了與 (funW*) 匹配的文本。

下圖對(duì)正則表達(dá)式的選擇、分組和引用運(yùn)算符做了總結(jié):

先行斷言

任意正則表達(dá)式都可以作為錨點(diǎn)條件。如果在符號(hào) “(?=”和“)” 之間加入一個(gè)表 達(dá)式,它就是一個(gè) 先行斷言 ,用以說(shuō)明圓括號(hào)內(nèi)的表達(dá)式必須正確匹配,但并不是真正意義上的匹配。比如,要匹配一種常用的程序設(shè)計(jì)語(yǔ)言的名字,但只在其后 有冒號(hào)時(shí)才匹配,可以使用 /[Jj]ava([Ss]cript)?(?=:)/。這個(gè)正則表達(dá)式可以匹 配“JavaScript:The Definitive Guide”中的“JavaScript”,但是不能匹配“Java in a Nutshell”中的“Java”,因?yàn)樗竺鏇](méi)有冒號(hào)。

帶有 “(?!” 的斷言是負(fù)向先行斷言,用以指定接下來(lái)的字符都不必匹配。例 如, /Java(?!Script)([A-Z]w*)/可以匹配“Java”后跟隨一個(gè)大寫字母和任意多個(gè)ASCII 單詞,但Java后面不能跟隨“Script”。它可以匹配“JavaBeans”,但不能匹配“Javanese”;它不匹配“JavaScript”,也不能匹配“JavaScripter”。

用于模式匹配的String方法

String支持4種使用正則表達(dá)式的方法。

search

最簡(jiǎn)單的是 search()。它的參數(shù)是一個(gè)正 則表達(dá)式,返回第一個(gè)與之匹配的子串的起始位置,如果找不到匹配的子串,它將 返回-1。比如,下面的調(diào)用返回值為4:

“JavaScript”.search(/script/i);

如果search()的參數(shù)不是正則表達(dá)式,則首先會(huì)通過(guò)RegExp構(gòu)造函數(shù)將它轉(zhuǎn)換 成正則表達(dá)式, search()方法不支持全局檢索,因?yàn)樗雎哉齽t表達(dá)式參數(shù)中的修飾符g。

replace

replace()方法用以執(zhí)行檢索與替換操作。其中第一個(gè)參數(shù)是一個(gè)正則表達(dá)式, 第二個(gè)參數(shù)是要進(jìn)行替換的字符串。這個(gè)方法會(huì)對(duì)調(diào)用它的字符串進(jìn)行檢索,使用指定的模式來(lái)匹配。如果正則表達(dá)式中設(shè)置了修飾符g,那么源字符串中所有與模式匹配的子串都將替換成第二個(gè)參數(shù)指定的字符串;如果不帶修飾符g,則只替換所匹配的第一個(gè)子串。如果replace()的第一個(gè)參數(shù)是字符串而不是正則表達(dá)式,則 replace()將直接搜索這個(gè)字符串,而不是像search()一樣首先通過(guò)RegExp()將它轉(zhuǎn)換為正則表達(dá)式。比如,可以使用下面的方法,利用replace()將文本中的所有 javascript(不區(qū)分大小寫)統(tǒng)一替換為“JavaScript”:

//將所有不區(qū)分大小寫的javascript都替換成大小寫正確的JavaScript 
text.replace(/javascript/gi,“JavaScript”);

replace() 的功能遠(yuǎn)不止這些。回憶一下前文所提到的,正則表達(dá)式中使用圓 括號(hào)括起來(lái)的子表達(dá)式是帶有從左到右的索引編號(hào)的,而且正則表達(dá)式會(huì)記憶與每 個(gè)子表達(dá)式匹配的文本。如果在替換字符串中出現(xiàn)了$加數(shù)字,那么 replace() 將用與 指定的子表達(dá)式相匹配的文本來(lái)替換這兩個(gè)字符。這是一個(gè)非常有用的特性。比 如,可以用它將一個(gè)字符串中的英文引號(hào)替換為中文半角引號(hào):

//一段引用文本起始于引號(hào),結(jié)束于引號(hào)
//中間的內(nèi)容區(qū)域不能包含引號(hào)
var quote=/”([^”]*)”/g;//用中文半角引號(hào)替換英文引號(hào),同時(shí)要保持引號(hào)之間的內(nèi)容(存儲(chǔ)在$1中)沒(méi)有被修改 
text.replace(quote,’“$1”’);

最值得注意的是,replace()方法的第二個(gè)參數(shù) 可以是函數(shù),該函數(shù)能夠動(dòng)態(tài)地計(jì)算替換字符串。

match

match() 方法是最常用的String正則表達(dá)式方法。它的唯一參數(shù)就是一個(gè)正則表達(dá)式(或通過(guò)RegExp()構(gòu)造函數(shù)將其轉(zhuǎn)換為正則表達(dá)式),返回的是一個(gè)由匹配結(jié) 果組成的數(shù)組。如果該正則表達(dá)式設(shè)置了修飾符g,則該方法返回的數(shù)組包含字符 串中的所有匹配結(jié)果。例如:

“1 plus 2 equals 3”.match(/d+/g)//返回[“1”,“2”,“3”]

如果這個(gè)正則表達(dá)式?jīng)]有設(shè)置修飾符 gmatch() 就不會(huì)進(jìn)行全局檢索,它只檢 索第一個(gè)匹配。但即使 match() 執(zhí)行的不是全局檢索,它也返回一個(gè)數(shù)組。在這種情 況下,數(shù)組的第一個(gè)元素就是匹配的字符串,余下的元素則是正則表達(dá)式中用圓括 號(hào)括起來(lái)的子表達(dá)式。因此,如果 match() 返回一個(gè)數(shù)組a,那么 a[0] 存放的是完整的 匹配,a[1]存放的則是與第一個(gè)用圓括號(hào)括起來(lái)的表達(dá)式相匹配的子串,以此類 推。為了和方法 replace() 保持一致, a[n] 存放的是 $n的內(nèi)容。

split

split() 這個(gè)方法用以將調(diào)用 它的字符串拆分為一個(gè)子串組成的數(shù)組,使用的分隔符是split()的參數(shù),例如:

“123,456,789”.split(“,”);//返回[“123”,“456”,“789”]

split() 方法的參數(shù)也可以是一個(gè)正則表達(dá)式,這使得 split() 方法異常強(qiáng)大。例如,可以指定分隔符,允許兩邊可以留有任意多的空白符:

“1,2,3,4,5”.split(/s*,s*/);//返回[“1”,“2”,“3”,“4”,“5”]
RegExp對(duì)象 RegExp的屬性

每個(gè)RegExp對(duì)象都包含5個(gè)屬性。

屬性source是一個(gè)只讀的字符串,包含正則表達(dá)式的文本。

屬性global是一個(gè)只讀的布爾值,用以說(shuō)明這個(gè)正則表達(dá)式是否帶有修飾符 g

屬性 ignoreCase 也是一個(gè)只讀的布爾值,用以說(shuō)明正則表達(dá)式是否帶有修飾符 i

屬性 multiline 是一個(gè)只讀的布爾值,用以說(shuō)明正則表達(dá)式是否帶有修飾符 m

最后一個(gè)屬性 lastIndex,它是一個(gè)可讀/寫的整數(shù)。如果匹配模式帶有g(shù)修飾符, 這個(gè)屬性存儲(chǔ)在整個(gè)字符串中下一次檢索的開(kāi)始位置,這個(gè)屬性會(huì)被 exec()test() 方法用到,下面會(huì)講到。

RegExp的方法

RegExp對(duì)象定義了兩個(gè)用于執(zhí)行模式匹配操作的方法。

exec

RegExp最主要的執(zhí)行模式匹配的方法是 exec()exec()方法對(duì)一個(gè)指定的字符串執(zhí)行一個(gè)正則表達(dá) 式,簡(jiǎn)言之,就是在一個(gè)字符串中執(zhí)行匹配檢索。如果它沒(méi)有找到任何匹配,它就 返回null,但如果它找到了一個(gè)匹配,它將返回一個(gè)數(shù)組,就像match() 方法為非全局檢索返回的數(shù)組一樣。

match() 方法不同,不管正則表達(dá)式是否具有全局修飾符g, exec()都會(huì)返回一樣的數(shù)組。當(dāng)調(diào)用exec()的正則表達(dá)式對(duì)象具有修飾符g時(shí),它將把當(dāng)前正則表達(dá)式 對(duì)象的lastIndex屬性設(shè)置為緊挨著匹配子串的字符位置。當(dāng)同一個(gè)正則表達(dá)式第二 次調(diào)用 exec() 時(shí),它將從 lastIndex 屬性所指示的字符處開(kāi)始檢索。

var pattern = /Java/g;
var text = "JavaScript is more fun than Java!";
result = pattern.exec(text)
//結(jié)果
//["Java", index: 0, input: "JavaScript is more fun than Java!"]
pattern.lastIndex //4

如果 exec() 沒(méi)有發(fā)現(xiàn)任何匹配結(jié)果,它會(huì)將 lastIndex 重置為0(在任何時(shí)候都可以將 lastIndex屬性設(shè)置 為0,每當(dāng)在字符串中找最后一個(gè)匹配項(xiàng)后,在使用這個(gè)RegExp對(duì)象開(kāi)始新的字符串查找之前,都應(yīng)當(dāng)將 lastIndex 設(shè)置為0)。這種特殊的行為使我們可以在用正則表達(dá)式匹配字符串的過(guò)程中反復(fù)調(diào)用 exec(),比如:

var pattern = /Java/g;
var text = "JavaScript is more fun than Java!";
var result;
while ((result = pattern.exec(text)) != null) {
  alert("Matched "" + result[0] + """ +
    " at position " + result.index +
    "; next search begins at " + pattern.lastIndex);
}
test

另外一個(gè)RegExp方法是 test() ,它比 exec() 更簡(jiǎn)單一些。它的參數(shù)是一個(gè)字符串,用 test() 對(duì)某個(gè)字符串進(jìn)行檢測(cè),如果包含正則表達(dá)式的一個(gè)匹配結(jié)果,則返回 true :

var pattern=/java/i; 
pattern.test(“JavaScript”);//返回true

調(diào)用 test() 和調(diào)用 exec() 等價(jià),當(dāng) exec() 的返回結(jié)果不是null時(shí),test()返回true。由于這種等價(jià)性,當(dāng)一個(gè)全局正則表達(dá)式調(diào)用方法 test() 時(shí),它的行為和 exec() 相同, 因?yàn)樗鼜?lastIndex 指定的位置處開(kāi)始檢索某個(gè)字符串,如果它找到了一個(gè)匹配結(jié)果,那么它就立即設(shè)置 lastIndex 為當(dāng)前匹配子串的結(jié)束位置。這樣一來(lái),就可以使用test() 來(lái)遍歷字符串,就像用 exec() 方法一樣。

exec()test() 不同, String方法 search()replace()match() 并不會(huì)用到 lastIndex 屬性。實(shí)際上, String 方法只是簡(jiǎn)單地將 lastIndex 屬性值重置為0。如果讓一 個(gè)帶有修飾符 g 的正則表達(dá)式對(duì)多個(gè)字符串執(zhí)行 exec()test(),要么在每個(gè)字符串中 找出所有的匹配以便將 lastIndex 自動(dòng)重置為零,要么顯式將 lastIndex 手動(dòng)設(shè)置為 0(當(dāng)最后一次檢索失敗時(shí)需要手動(dòng)設(shè)置 lastIndex )。

如果忘了手動(dòng)設(shè)置 lastIndex 的值,那么下一次對(duì)新字符串進(jìn)行檢索時(shí),執(zhí)行檢索的起始位置可能就不是字符串的 開(kāi)始位置,而可能是任意位置。當(dāng)然,如果RegExp不帶有修飾符g,則不必?fù)?dān)心會(huì)發(fā)生這種情況。同樣要記住,ECMAScript 5中,正則表達(dá)式直接量的每次計(jì)算都會(huì)創(chuàng)建一個(gè)新的 RegExp對(duì)象,每個(gè)新 RegExp對(duì)象 具有各自的 lastIndex屬性,這勢(shì)必會(huì)大大減少“殘留” lastIndex 對(duì)程序造成的意外影響。

參考

JavaScript 權(quán)威指南第六版

玩轉(zhuǎn)JavaScript正則表達(dá)式

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/84892.html

相關(guān)文章

  • JavaScript正則達(dá)式

    摘要:正則表達(dá)式的意義中的正則表達(dá)式使用表示,可以使用構(gòu)造函數(shù)來(lái)創(chuàng)建對(duì)象,不過(guò)對(duì)象更多的是通過(guò)一種特殊的直接量語(yǔ)法來(lái)創(chuàng)建。用構(gòu)造函數(shù)也可以定義一個(gè)與之等價(jià)的正則表達(dá)式,代碼如下正則表達(dá)式的模式規(guī)則是由一個(gè)字符序列組成的。 正則表達(dá)式的模式匹配 正則表達(dá)式(regular expression)是一個(gè)描述字符模式的對(duì)象。javascript的RegExp對(duì)象表示正則表達(dá)式,String和Reg...

    _Dreams 評(píng)論0 收藏0
  • JavaScript正則達(dá)式

    摘要:引用就是允許在同一個(gè)正則表達(dá)式的后部引用前面的子表達(dá)式。這個(gè)數(shù)字制定了帶圓括號(hào)的子表達(dá)式在正則表達(dá)式中的位置。對(duì)正則表達(dá)式中前一個(gè)子表達(dá)式的引用,并不是指對(duì)子表達(dá)式模式的引用,而是指與那個(gè)模式匹配的文本的引用。 前言 本文主要是在讀《JavaScript高級(jí)程序語(yǔ)言設(shè)計(jì)》一書有關(guān)正則表達(dá)式的章節(jié)的知識(shí)點(diǎn)記錄,方便后續(xù)查閱。 什么是正則表達(dá)式 正則表達(dá)式是用來(lái)描述字符組合的某種規(guī)則。它可...

    sixleaves 評(píng)論0 收藏0
  • JavaScript 闖關(guān)記》之正則達(dá)式

    摘要:正則表達(dá)式的字符串表示,按照字面量形式而非傳入構(gòu)造函數(shù)中的字符串模式返回。其中,表示匹配項(xiàng)在字符串中的位置,而表示應(yīng)用正則表達(dá)式的字符串。下面列出了正則表達(dá)式所不支持的特性。關(guān)卡按要求完成下列常用的正則表達(dá)式。 由于本課程的核心是 JavaScript,所以本文著重講解了「正則表達(dá)式」在 JavaScript 中的用法,并未深入「正則表達(dá)式」的具體細(xì)節(jié)。如果您尚不了解「正則表達(dá)式」,強(qiáng)...

    TalkingData 評(píng)論0 收藏0
  • JavaScript標(biāo)準(zhǔn)庫(kù)系列——RegExp對(duì)象(三)

    摘要:目錄導(dǎo)語(yǔ)理解正則表達(dá)式模式的規(guī)則字符串和正則實(shí)例的屬性和方法檢索實(shí)例小結(jié)導(dǎo)語(yǔ)正則表達(dá)式是處理字符串的一門藝術(shù)手法,應(yīng)用場(chǎng)景經(jīng)常出現(xiàn)在表單驗(yàn)證部分高級(jí)程序設(shè)計(jì)一書開(kāi)篇提到,這門語(yǔ)言最原始的應(yīng)用就是處理輸入驗(yàn)證操作,所以正則表達(dá)式從誕生那一刻就 目錄 導(dǎo)語(yǔ) 1.理解正則表達(dá)式 2.模式的規(guī)則 3.字符串和正則實(shí)例的屬性和方法 4.檢索實(shí)例 5. 小結(jié) 導(dǎo)語(yǔ) 正則表達(dá)式是處理字符串的一門藝...

    邱勇 評(píng)論0 收藏0
  • JavaScript 正則達(dá)式使用

    摘要:當(dāng)正則表達(dá)式是靜態(tài)不變的,那么使用這種方式將會(huì)獲得更好的性能。使用正則表達(dá)式在中,正則表達(dá)式是通過(guò)對(duì)象的和方法以及字符串內(nèi)置的,,,方法使用的。這些標(biāo)志可以以任何順序單獨(dú)使用或一起使用,并作為正則表達(dá)式的一部分。 版權(quán)聲明:本文由吳仙杰創(chuàng)作整理,轉(zhuǎn)載請(qǐng)注明出處:https://segmentfault.com/a/1190000009169325 1. 引言 正則表達(dá)式本身語(yǔ)法是一致,...

    MyFaith 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<