正则表达式简介 link
定义:正则表达式用于定义一些字符串的规则。
作用:计算机可以根据正则表达式,来检查一个字符串是否符合指定的规则;或者将字符串中符合规则的内容提取出来。
使用构造函数创建正则表达式的对象
语法
var 变量 = new RegExp("正则表达式"); // 注意,参数是字符串
var 变量 = new RegExp("正则表达式", "匹配模式"); // 注意,两个参数都是字符串
备注:RegExp
的意思是 Regular expression。使用typeof检查正则对象,会返回object。
上面的语法中,既可以传一个参数,也可以传两个参数。
创建了正则表达式的对象后,该怎么使用呢?大致分为两个步骤:
- (1)创建正则表达式的对象,定义了一个正则表达式的规则
- (2)使用 reg 的test() 方法,判断指定字符串是否符合规则。
正则表达式的test()
方法:【重要】
- 使用
test()
这个方法可以用来检查一个字符串是否符合正则表达式的规则 - 如果符合则返回true,否则返回false
myReg.test(str); // 判断字符串 str 是否符合 指定的 myReg 这个正则表达式的规则
传一个参数时:
构造函数 RegExp 中,可以只传一个参数。
var reg = new RegExp("a"); // 定义一个正则表达式:检查一个字符串中是否含有 a
var str1 = "hello";
var str2 = "apple";
// 通过 test()方法,判断字符串是否符合 上面定义的 reg 规则
console.log(reg.test(str1)); // 打印结果:false
console.log(reg.test(str2)); // 打印结果:true
传两个参数时:匹配模式 【重要】
构造函数 RegExp 中,也可以传两个参数。我们可以传递一个匹配模式作为第二个参数。这个参数可以是:
-
i
忽略大小写。这里的 i 指的是 ignore。 -
g
全局匹配模式。这里的 g 指的是 global。
var reg = new RegExp('A', 'i');
var str = 'qiangu';
console.log(reg.test(str)); // 打印结果:true
使用字面量创建正则表达式
我们可以使用字面量来创建正则表达式。
语法:
var 变量 = /正则表达式/; // 注意,这个语法里没有引号
var 变量 = /正则表达式/匹配模式; // 注意,这个语法里没有引号
代码举例:
var reg = /A/i; // 定义正则表达式的规则:检查一个字符串中是否含有 a。忽略大小写。
var str = "qiangu";
console.log(typeof reg); // 打印结果:object
console.log(reg.t