一、字符類(lèi)
概念: 將單獨(dú)的直接量字符放進(jìn)方括號(hào)內(nèi)就可以組合成字符類(lèi)(character class)。
注:紅色表示不是特別清楚的
[...] ——表示字符類(lèi)中任意一個(gè)字符都滿足
[^...]——除字符類(lèi)中的任意一個(gè)字符都滿足
.——除換行符(\n)和Unicode終止符之外的任意字符(不知道有什么用?)
\w——(word)任何ASCII單字字符,==[a-zA-Z0-9]
\W——任何非ASCII單字字符,==[^a-zA-Z0-9]
\s ——(space)任何Unicode空白字符
\S——任何非Unicode空白字符
\d——任何ASCII數(shù)字,等價(jià)于[0-9]
\D——除了ASCII數(shù)字,==[^0-9]
[\b]——退格直接量(不知道有什么用?)
二、重復(fù)
重復(fù)還有:{n,m},{n,},{n},?,+,*不一一解釋
注:重復(fù)是匹配前一模式的一個(gè)或多個(gè)副本
三、非貪婪的重復(fù)(看是明白一點(diǎn),做了實(shí)驗(yàn)后不明白了!)
復(fù)制代碼 代碼如下:
var s = "aaaaabab";
var tanlan = /a*b/;
var landu = /a*?b/;
var t = s.match(tanlan); //本以為t:aaaaabab,l:aaaaab
var l = s.match(landu); //這兩個(gè)匹配出來(lái)的數(shù)組居然是一樣的
四、選擇、分組和引用
|:選擇
匹配符號(hào)從左到右的表達(dá)式(匹配一個(gè)后不會(huì)再往后走了)
var regChoose = /\d{2}|\w{4}/; //要么兩位小數(shù),要么四個(gè)小寫(xiě)字母,匹配第一個(gè)就不匹配第二個(gè)
():組合
作用一:將單獨(dú)的項(xiàng)目組合成子表達(dá)式
var regCombination = /(菜鳥(niǎo)吃蟲(chóng))+蟲(chóng)吃菜/ //“菜鳥(niǎo)吃蟲(chóng)”一定要出現(xiàn)一次或更多次
作用二:取出字串,以后匹配
- <input id="TextChoose" style="MARGIN-LEFT: 25px" value="fdsa24fdas24" /> <input onclick="IsNewline()" type="button" value="子串驗(yàn)證" /></p>