一、定義 用來描述或匹配一系列符合某個規則的字元串信息的字元串。 通常用來檢驗字元串是否符合某些規則,或者匹配(替換)被操作的字元串中的某些信息。 二、基本語法 1.以“/”開始,以另一個“/”結束 2.結束符“/”後可以有g(global-在整個字元串中搜索)、i(ignore-忽略大小寫)、m( ...
一、定義
用來描述或匹配一系列符合某個規則的字元串信息的字元串。
通常用來檢驗字元串是否符合某些規則,或者匹配(替換)被操作的字元串中的某些信息。
二、基本語法
1.以“/”開始,以另一個“/”結束
2.結束符“/”後可以有g(global-在整個字元串中搜索)、i(ignore-忽略大小寫)、m(multiline-在多行中搜索)
3.在JavaScript中,正則表達式通過RegExp類(var regExp= new RegExp(“JavaScript”))實現以及支持以兩斜線引用的Perl風格(/JavaScript/)
三、元字元
更加方便定製需要匹配的模式;註意區分大小寫
1. . 匹配換行符(/n)以外的任意字元
2. ^ 匹配字元串的開始
3. $ 匹配字元串的結束
4. \b匹配單詞的邊界
5.\d匹配數字
6. \s匹配任意空白符(空格、換行、換頁。。。)
7.\w匹配字母、數字、下劃線或漢字
8.\轉義字元
四、量詞
指定字元或字元串出現的次數
1. *出現0至多次
2. +出現1至多次
3. ?出現0至1次
4. {n}出現n次
5.{n,}出現n至多次
6.{n,m}出現n至m次
五、字元類
字元類是放在方括弧中的,用於匹配字元數組的一些字元
1.簡單類:簡單匹配字元 [abc]
2.負向類:匹配指定以外的字元 [^abc];
^表示該符號後面以外的字元,又稱脫字元號;
此外,反義字元還有\W(字母、數字、下劃線以及漢字以外的字元)、\S(空白字元以外的字元)、\D(數字以外的字元)、\B(匹配非單詞的邊界)
3.範圍類:表示在 一定範圍內取值[a-z]
4.組合類:其他類多種組合;
例:匹配所有英文字元及數字 var reg=/[A-Za-z0-9]/;
在使用組合類時,字元串不允許出現空格
在JavaScript中不支持形如[A-Z[0-9]]的範圍類嵌套
六、分組
由字元串和量片語成的模式;用於匹配多個字元串
1.由小括弧包圍分組(abc)
2.分組可嵌套(^123(abc)*)
3.例判斷輸入日期格式是否正確:var dataReg=/^(\d{4})(-)(\d{1,2})(-)(\d{1,2})$/;
七、反向引用
建立在分組的基礎上的對正則表達式的複雜應用;當存在多個分組嵌套或者併列的情況下,需要使用多個分組中的某個分組的值時可使用反向引用
1.每個分組都被存放在一個特殊的地方以被使用
2.每個分組擁有一個自動的編碼組號:從左到右,以左括弧為標誌,第一個出現的分組為1,以此類推(從1開始,不同於數組、列表)
反向引用的使用
1.$分組:反向引用時的標識符;
如var dataReg=/^(\d{4})(-)(\d{1,2})(-)(\d{1,2})$/ ,$1表示第一個分組
2.\分組:轉義字元分組;適用於分組中引用分組
如匹配字元串“abcabc” ,/(dog)\1/
八、候選
使用按位或(|)表選擇
如同時匹配“act”和“do”:var reg=、act|do/g;