正則表達(dá)式,學(xué)了好多次了甩挫,但是沒有經(jīng)過大量的實(shí)踐,總是易忘趁蕊,唉...
通用正則語法
類
[abc]
表示匹配a或者b或者c的字符[^abc]
表示匹配不是a或者b或者c的字符,^
僅在[]
中取反仔役,在其他情況下表示邊界范圍類
[a-z]
在中括號(hào)里面的-
表示范圍掷伙,如需匹配短橫線,則需在后面再加-
骂因,如[0-9-]
預(yù)定義類:
.
匹配除了換行符以外的任何字符\d
匹配數(shù)字\s
匹配字母炎咖,數(shù)字,下劃線\w
匹配空格(字母如果變大寫則表示取反)
邊界
^ $
為起始邊界\b
單詞邊界\B
非單詞邊界
量詞
?
匹配0個(gè)或1個(gè)+
匹配 >=1 個(gè)*
匹配任意多個(gè){n,m}
a為最少寒波,b為最多乘盼。若為{n}
,則為精確匹配俄烁;若為{n,}
绸栅,則匹配大于n個(gè)
匹配模式
默認(rèn)的匹配模式是貪婪模式(即盡可能多的匹配)
若想將貪婪模式改成“廉潔模式(自創(chuàng))”,只需在量詞后面加上“ ? ”
默認(rèn)情況下页屠,量詞制作用于緊挨著它的字符粹胯。如果想要破,可以用
()
來進(jìn)行分組用
()
來進(jìn)行分組后的分組內(nèi)容可以用$1,$2,...
來獲取
JS中的正則
正則對(duì)象
正則對(duì)象的屬性有
g,i,m,lastIndex
test
方法辰企,返回布爾值exec
方法风纠,匹配不成功返回null
,否則返回結(jié)果數(shù)組牢贸,數(shù)組的第一個(gè)元素表示匹配的文本竹观,第二個(gè)元素是與正則對(duì)象的第一個(gè)子表達(dá)式相匹配的文本(如果有),以此類推
與正則相關(guān)的字符串方法
-
search
方法潜索,返回第一個(gè)匹配結(jié)果的index臭增,否則返回null(它不會(huì)執(zhí)行全局匹配) -
match
方法,如果不加‘ g ’竹习,則返回null或數(shù)組誊抛,數(shù)組存放了與它找到的匹配文本有關(guān)的信息,第一個(gè)元素是匹配的文本整陌,其余元素存放子表達(dá)式匹配的內(nèi)容