一、正则的概念
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
给定一个正则表达式和另一个字符串,可以达到如下的目的:
1. 给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”);
2. 可以通过正则表达式,从字符串中获取想要的特定部分。
正则表达式的特点:
1. 灵活性、逻辑性和功能性非常强;
2. 可以迅速地用极简单的方式达到字符串的复杂控制。
由于正则表达式主要应用对象是文本,因此它在各种文本编辑器场合都有应用,小到著名编辑器EditPlus, 大到Microsoft Word、Visual Studio等大型编辑器,都可以使用正则表达式来处理文本内容。
二、RegExp对象
1. 创建正则表达式
格式:
var reg = new RegExp(pattern, attributes); //通过构造函数创建
var reg = /study/; //简写形式,表示匹配含有“stydy”的字符串
备注: pattern:指的就是正则表达式
attributes:指的是正则对象所拥有的属性。包括 g:全局匹配;i:忽略大小写;m:多行匹配
2. 属性
global RegExp对象是否具有标志g。 表示全局匹配
ignoreCase RegExp对象是否具有标志i。 表示忽略大小写
source 正则表达式的源文本。
multiline RegExp对象是否具有标志m。表示匹配多行
例子:
var reg = /study/gi;
console.log(reg.global); //true
console.log(reg.ignoreCase); //true
console.log(reg.source); //"study"
console.log(reg.multiline); //false
3. 方法
test(字符串) //检测字符串中指定的值。返回true或false
exec(字符串) //检测字符串中是否含有指定的值。有的话,返回找到的值。否则返回null
用法:
var reg = /study/gi;
var str = "good good study, day day up! ";
reg.test(str); //true
reg.exec(str); //study
未完待续。。。