一唇兑、實(shí)例化RegExp
1、字面量
2猛蔽、構(gòu)造函數(shù)
字面量
var reg = /\bis\b/g;(\b單詞邊界)
構(gòu)成函數(shù)
var reg = new RegExp('\bis\b','g');
g 全文檢索
i 忽略大小寫
m 多行搜索
二、元字符
正則表達(dá)式由兩種字符類型組成:
1、原義文本字符
2小泉、元字符(代表有特殊含義的非字母字符)
- ? $ ^ . | \ ( ) { } []
三、字符類
可以使用元字符[]構(gòu)建一個(gè)簡單的類([abc]表示將a或b或c歸于一類冕杠,表達(dá)式可以匹配這類字符)
字符類取反([^abc])
四微姊、范圍類
可以使用[a-z]標(biāo)識a到Z,類內(nèi)部可以連寫[a-zA-Z]
五、預(yù)定義類
. [^\r\n] 除了回車換行之外的所有字符
\d [0-9] 數(shù)字字符
\D [^0-9] 非數(shù)字字符
\s 空白符
\S 非空白符
\w [a-zA-Z_0-9] 單詞字符(數(shù)字分预、字母兢交、下劃線)
\W [^a-zA-Z_0-9] 非單詞字符
^ 以開始
$ 以結(jié)束
\b 單詞邊界
\B 非單詞邊界
六、量詞
笼痹?最多出現(xiàn)一次
- 至少出現(xiàn)一次
- 任意次
{n} 出現(xiàn)n次
{n,m} 出現(xiàn)n到m次
{n,} 至少出現(xiàn)n次
七配喳、貪婪模式
默認(rèn)貪婪模式 '12345678'.replace(/\d{3,6}/,'A')==>'A78'
非貪婪模式 '123456789'.replace(/\d{3,6}?/,'A')==>'AA78'
八、分組
小括號()達(dá)到分組效果
'a1b2c3d4'.replace(/([a-z]\d){3}/,'A')==>'Ad4'
或 |達(dá)到效果
反向引用
'2016-04-24'.replace(/(\d{4})-(\d{2})-(\d{2})/g,'1/$3')
忽略分組 加?: (?:a)(b)
九凳干、前瞻
向前檢查是否符合斷言
正向前瞻 exp(?=assert) 'a3fd123'.replace(/a-z/g,'A');==>"a3fA123"
負(fù)向前瞻(取反) exp(?!assert) 'a3fd123'.replace(/a-z/g,'A');==>"a3Ad123"
十晴裹、對象方法
reg.test('a') 測試傳入字符串是否符合正則規(guī)則 符合返回true
reg.exec('a') 不符合返回null,符合返回?cái)?shù)組[index,input] index--匹配文本第一個(gè)字符的位置 input--存放被檢索的字符串