1.创建正则表达式的方式
// two ways var pattern = new RegExp(rule); var pattern = /rule/
2.创建时额外参数
/* i : 忽略大小写 * g : 全局匹配,否则只会针对第一个匹配项 * m : 多行匹配 */ var pattern = new RegExp(rule,'i'); var pattern = /rule/i;
i,g,m可在一个表达式中同时使用,如“ig”作为参数。
3.RegExp的两个匹配方法
/* name: test() * parameters: 待匹配字符串 * return: true or false */ if(pattern.test('asdfghjkl')) document.writeln("匹配成功"); /* name: exec() * parameters: 待匹配字符串 * return: 匹配的结果,无匹配则返回null */ var result = pattern.exec('asdfgghjkl'); document.writeln(result );
4.RegExp一个有用的属性lastIndex
这个属性只有在全局模式时才派得上用场,是可读可写的,意味着匹配从lastindex之后开始。
5.String对象支持的regex方法
var pattern = /d{2}/g; alert(str1.match(pattern)); //;类似exec,要么返回匹配结果要么返回null alert(str2.replace(pattern,"!!")); //把匹配项替换成!! alert(str3.search(pattern)); //总是返回首次匹配位置,无匹配返回-1 alert(str4.split(pattern)); //按照匹配项分割字符串,分割结果放到数组里
元字符
w: 单词字符 等价于[A-Za-z0-9_]
W: 非单词字符 等价于[^A-Za-z0-9_]
d: 数字 等价于[0-9]
D:非数字 等价于[^0-9]
s: 空白字符
S: 非空白字符
: 单词边界
B: 非单词边界
: 换行符
:回车符
: 制表符
次数量词
*:>=0次
+:>=1次
?:0或1次
. :1次
其他
^:一行开头
$:一行结尾
[]:划分部分,后加次数
{}:里面一个数是具体出现次数,两个数是出现次数范围
():记住匹配结果,以数组形式