基本格式是 var expression = /pattern / flags
flags 的值有3种:g 表示全局,应用于所有字符串,而不是发现一个匹配就结束;i忽略大小写;m表多行模式(multiline),到达文本末尾继续查下一行。
RegExp实例
RegExp对象主要有两个方法: exec(s) 和test(s), 其中s是应用模式的字符串,既然是该对象的方法,所以我们就需要通过dot来引用了。
pattern.exec(s) 专门为捕获组而设计的。
pattern.test(s) 如果跟模式匹配的话,就返回true,否则false
构造模式
var pattern = /[bc]at/gi; // 不区分大小写,进行全局匹配,并且是b,c之中一个开头,后接at
var pattern = new RegExp("[bc]at", "ig"); // 根据构造函数来创建,这个时候要注意了,必须确保它解开""引用以后的形式是你想要的模式
/\[bc\]at/ <=> "\\[bc\\]at"
/\.at/ <=> "\\.at"
/\w\\hello\\123/ <=> "\\w\\\\hello\\\\123" 双重转义
模式的局限性:
虽然我们我一些匹配功能,但是仍不如perl有那么多的高级正则表示式特性。
1:支持^ $表示字符串的开始和结尾,但是不支持字符串开始和结尾的\A和\Z 锚
2:支持向前查找(lookahead),不支持向后查找(lookbehind)