JavaScript基础之七——JavaScript中的正则表达式
正则表达式在前端开发中应用十分广泛,从表单验证到内容替换,正则多发挥着十分重要的作用。JavaScript中提供了专门的正则对象。
在JavaScript中,有两种方式创建正则表达式,分别可以通过直接量语法来创建和RegExp对象来创建,示例如下:
1 2 3 4 5 6
| var string = "Hello World123454321,{name:jaki,age:25}Hello,HELLO";
console.log(string.match(/ello/g));
var reg1 = new RegExp("ello","g"); console.log(string.match(reg1));
|
使用直接量语法创建正则的模板如下:
/param/attri
其中param是正则表达式,attri为修饰参数,可以选择的有,i、g、m3个。i代表忽略大小写,g代表全局检索,m代表多行检索。
同样,使用RegExp对象的构造方法来构造正则对象也需要两个参数,第1个参数为正则表达式,第2个参数为修饰参数。
正则表达式可以使用括号来进行范围查找,示例如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| var reg2 = new RegExp("ello","igm"); console.log(string.match(reg2));
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"); console.log(string.match(reg7));
|
在构造正则表达式时,也可以灵活的使用许多元字符,示例如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
var reg8 = new RegExp("e.l","g"); console.log(string.match(reg8));
var reg9 = new RegExp('l+',"g"); console.log(string.match(reg9));
var reg10 = new RegExp('He*',"g"); console.log(string.match(reg10));
var reg11 = new RegExp('He?',"g"); console.log(string.match(reg11));
var reg12 = new RegExp('l{2}',"g"); console.log(string.match(reg12));
var reg13 = new RegExp('l{1,5}',"g"); console.log(string.match(reg13));
var reg14 = new RegExp('l{1,}',"g"); console.log(string.match(reg14));
var reg15 = new RegExp('O$',"g"); console.log(string.match(reg15));
var reg15 = new RegExp('^H',"g"); console.log(string.match(reg15));
|
关于RegExp对象,其中也封装了一些属性和方法,示例如下:
1 2 3 4 5 6 7 8
| console.log(reg15.global); console.log(reg15.ignoreCase); console.log(reg15.multiline);
console.log(reg15.exec(string));
console.log(reg15.test(string));
|
前端学习新人,有志同道合的朋友,欢迎交流与指导,QQ群:541458536