JavaScript基礎之七——JavaScript中的正則表達式

JavaScript基礎之七——JavaScript中的正則表達式

    正則表達式在前端開發中應用十分普遍,從表單驗證到內容替換,正則多發揮着十分重要的做用。JavaScript中提供了專門的正則對象。javascript

    在JavaScript中,有兩種方式建立正則表達式,分別能夠經過直接量語法來建立和RegExp對象來建立,示例以下:前端

var string = "Hello World123454321,{name:jaki,age:25}Hello,HELLO";
//使用直接量語法建立正則
console.log(string.match(/ello/g));//[ 'ello', 'ello' ]
//使用對象構造正則
var reg1 = new RegExp("ello","g");
console.log(string.match(reg1));//[ 'ello', 'ello' ]

使用直接量語法建立正則的模板以下:java

/param/attri正則表達式

其中param是正則表達式,attri爲修飾參數,能夠選擇的有,i、g、m3個。i表明忽略大小寫,g表明全局檢索,m表明多行檢索。學習

一樣,使用RegExp對象的構造方法來構造正則對象也須要兩個參數,第1個參數爲正則表達式,第2個參數爲修飾參數。spa

    正則表達式能夠使用括號來進行範圍查找,示例以下:code

//i 表示忽略大小寫 g表示全局搜索 m表示多行搜索
var reg2 = new RegExp("ello","igm");
console.log(string.match(reg2));//[ 'ello', 'ello', 'ELLO' ]
//[]內表示匹配範圍內的某個字符
var reg3 = new RegExp("[abcd]","g");
console.log(string.match(reg3));
//前面加上^表示取反 匹配除了[]內的全部其餘字符
var reg4 = new RegExp("[^abcd]","g");
console.log(string.match(reg4));
//進行範圍匹配 以下只匹配數字
var reg5 = new RegExp("[0-9]","g");
console.log(string.match(reg5));
//進行範圍匹配 以下只匹配英文字符
var reg6 = new RegExp("[a-z]","ig");
console.log(string.match(reg6));
//進行指定串的匹配
var reg7 = new RegExp("(123|hell)","ig");//[ 'Hell', '123', 'Hell', 'HELL' ]
console.log(string.match(reg7));

    在構造正則表達式時,也能夠靈活的使用許多元字符,示例以下:對象

//元字符
//.元字符會比配任何字符 除了換行和行結束符
var reg8 = new RegExp("e.l","g");
console.log(string.match(reg8));
//x+用於匹配一個或多個x字符
var reg9 = new RegExp('l+',"g");
console.log(string.match(reg9));
//x*匹配0個或多個x字符
var reg10 = new RegExp('He*',"g");
console.log(string.match(reg10));
//x?匹配0個或1個x字符
var reg11 = new RegExp('He?',"g");
console.log(string.match(reg11));
//x{n}匹配有n個x字符
var reg12 = new RegExp('l{2}',"g");
console.log(string.match(reg12));
//x{n,m}匹配有n-m間個x字符
var reg13 = new RegExp('l{1,5}',"g");
console.log(string.match(reg13));
//x{n,}匹配至少有n個x字符
var reg14 = new RegExp('l{1,}',"g");
console.log(string.match(reg14));
//x$匹配以x結尾
var reg15 = new RegExp('O$',"g");
console.log(string.match(reg15));
//^x匹配以x開頭
var reg15 = new RegExp('^H',"g");
console.log(string.match(reg15));

    關於RegExp對象,其中也封裝了一些屬性和方法,示例以下:ip

//獲取是否有相應標誌位
console.log(reg15.global);
console.log(reg15.ignoreCase);
console.log(reg15.multiline);
//檢索字符串中正則匹配
console.log(reg15.exec(string));
//檢測字符串是否匹配 會返回true或者false
console.log(reg15.test(string));

前端學習新人,有志同道合的朋友,歡迎交流與指導,QQ羣:541458536開發

相關文章
相關標籤/搜索