JavaScript中的正則表達式對象1--創建

正則表達式對象的兩種創建方式

  1. 正則表達式直接量(/pattern/attributes)
  2. RegExp構造函數(new RegExp(pattern,attributes))
var r1 = /[a-z]+/g;
var r2 = new RegExp("[a-z]+","g");

var str = "444abcd23";
console.log(str.match(r1));//print ["abcd"]
console.log(str.match(r2));//also print ["abcd"]

可以看出直接量的格式是將正則表達式包含在兩個斜槓中後面跟着屬性值,其中屬性有2個,g和i。
RegExp構造函數有兩個參數,第一個是正則表達式字符串,第二個是屬性字符串。
屬性g的意思是全局匹配,看下面的例子,r1和r2的區別就在r1是全局匹配,所以r1匹配了所以的結果,而r2只匹配了第一結果。

var r1 = /[a-z]+/g;
var r2 = /[a-z]+/;
var str = "444abcd23efg333";
console.log(str.match(r1));//print ["abcd", "efg"]
console.log(str.match(r2));//print ["abcd"]

屬性i的意思是或略大小寫,看下面例子,r1或略了大小寫所以匹配了被數字分割的字母組合,r2大小寫敏感所以匹配了所有被數字和大寫字母分割的小寫字母組合。

var r1 = /[a-z]+/gi;
var r2 = /[a-z]+/g
var str = "444abCd23efg333rrrEe";
console.log(str.match(r1));//print ["abCd", "efg", "rrrEe"]
console.log(str.match(r2));//print ["ab", "d", "efg", "rrr", "e"]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章