javascript類型系統(tǒng)之正則表達(dá)式_javascript技巧

javascript類型系統(tǒng)之正則表達(dá)式_javascript技巧

ID:30778807

大?。?97.84 KB

頁數(shù):13頁

時(shí)間:2019-01-03

javascript類型系統(tǒng)之正則表達(dá)式_javascript技巧_第1頁
javascript類型系統(tǒng)之正則表達(dá)式_javascript技巧_第2頁
javascript類型系統(tǒng)之正則表達(dá)式_javascript技巧_第3頁
javascript類型系統(tǒng)之正則表達(dá)式_javascript技巧_第4頁
javascript類型系統(tǒng)之正則表達(dá)式_javascript技巧_第5頁
資源描述:

《javascript類型系統(tǒng)之正則表達(dá)式_javascript技巧》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。

1、JavaScript類型系統(tǒng)之正則表達(dá)式定義正則又叫規(guī)則或模式,是一個(gè)強(qiáng)大的字符串匹配工具。javascript通過RegExp類型來支持正則表達(dá)式特性[1]貪焚性,匹配最長的[2]懶惰性,不設(shè)置/g,則只匹配第1個(gè)寫法perl寫法(使用字面量形式)varcxprcssion二/pattcrn/flags;模式(pattern)部分可以是任何簡單或復(fù)雜的正則表達(dá)式,可以包含字符串、限定類、分組、向前查找以及反向引用。每個(gè)止則表達(dá)式可以帶一個(gè)或多個(gè)標(biāo)志(flags),用以標(biāo)明正則表達(dá)式的行為。正則表達(dá)式支持三個(gè)標(biāo)志:[1]g:表示全局模式(global)[2]i:表示不區(qū)分大小寫(ign

2、oreCasc)[3]m:表示多行模式(multiline)〃匹配字符串所有'at'的實(shí)例varpatternl二/at/g;RegExp構(gòu)造函數(shù)RegExp構(gòu)造函數(shù)接收兩個(gè)參數(shù):耍匹配的字符串模式(pattern)和標(biāo)志字符串(flags)(可選)[注意]RegExp構(gòu)造函數(shù)的兩個(gè)參數(shù)都是字符串。且使用字面量形式定義的任何表達(dá)式都叫?使用構(gòu)造函數(shù)//匹配字符串所有'毗’的實(shí)例varpattern二newRegExp('at'g');兩種寫法的區(qū)別字面量寫法不支持變量,只能用構(gòu)造函數(shù)的形式來寫[tips]獲取class元素(因?yàn)閏lassnamc是變量,只能使用構(gòu)造函數(shù)的形式)func

3、tiongetByClass(obj,classname){varelements二obj.getElementsByTagMame('*');varresult二[];varpattern二newRegExp('(

4、\s)'+classname+'(\s

5、$)');for(vari=0;i

6、新RegExp實(shí)例都是一個(gè)新實(shí)例。ES5中規(guī)定使用正則字面量必須像直接調(diào)用RegExp構(gòu)造函數(shù)一樣,每次都創(chuàng)建新的RegExp實(shí)例語法[注意]正則表達(dá)式中不能出現(xiàn)多余空格元字符(14個(gè))0[]{}八$丨?*+?[注意]元字符必須轉(zhuǎn)義,即用加轉(zhuǎn)義字符,用newRegExp寫的止則必須雙重傳義轉(zhuǎn)義字符?除換行符之外的任意字符d數(shù)字D非數(shù)字w字母、數(shù)字、下劃線W非字母、數(shù)字、下劃線(漢字不屬于w)s空格S非空格b邊界符(w的左側(cè)或右側(cè)不是叭則會(huì)出現(xiàn)一?個(gè)邊界符)B非邊界符1表示和前面相同的一個(gè)字符t制表符v垂直制表符uxxxx査找以十六進(jìn)制xxxx規(guī)定的

7、Unicode字符(u4c00-u9fa5代表中文)(w)(d)l2:1代表w當(dāng)時(shí)所代表的值,2代表d當(dāng)時(shí)所代表的值[注意]正則表達(dá)式屮的子項(xiàng)必須是用小括號(hào)括起來的,并且順序以小括號(hào)的前描號(hào)出現(xiàn)的順序?yàn)闇?zhǔn)[tips]找出重復(fù)項(xiàng)最多的字符和個(gè)數(shù)varstr=Jaaaaabbbbbdddddaaaaaaaffffffffffffffffffgggggccccccc,;varpattern=/(w)l+/g;varmaxLength=0;varmaxValue二'';varresult二str.replace(pattcrn,function(match,matchl

8、,pos,originalTcxt){if(match,length>maxLength){maxLength二match,length;maxValue二matchl;}})console,log(maxLength,maxValue);//18系統(tǒng)轉(zhuǎn)義alert()和console,log()里面的字符是系統(tǒng)轉(zhuǎn)義字符字行表格車紙杠引引以空換制空回進(jìn)斜單雙nnOntbrf‘〃X\\\\\?I?六進(jìn)制nn表示一個(gè)字符(n為0-f),如x41表示'A'unnnn以十六進(jìn)制nnnn表示一個(gè)Unicode字符(n為0-f),如u03a3表示希臘字符£[注意]alert里而的

9、換行不能用〈br>或<br>,而應(yīng)該用alertChttp://www.baidu.comt你好')雙重轉(zhuǎn)義由于RegExp構(gòu)造函數(shù)的參數(shù)是字符串,所以某些情況下,需要對(duì)字符進(jìn)行雙重轉(zhuǎn)義。所有元字符必須雙重轉(zhuǎn)義,已經(jīng)轉(zhuǎn)義過的字符也必須雙重轉(zhuǎn)義字面量模式->/[bc]at//.at//name/age//d.d{l,2}//w\hello\123/等價(jià)的字符申〃\[bc\bt〃\.at"ame\/age,/〃

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。