把正则表达式编译为内部格式,从而执行得更快。
rgExp.compile(pattern, [flags])
参数
rgexp
必选项。正则表达式对象的一个例子。可以是变量名或文字。
pattern
必选项。字符串表达式,它包含要被编译的正则表达式模式。
flags
可选项。可以组合使用,可用的标志有:
g (全局搜索所有存在的 pattern)
i (忽略事件)
m (多行搜索)
说明
compile 方法把 pattern 转换为内部的格式,从而执行得更快。例如,这使得可以在循环中更有效地使用正则表达式。当重复使用相同的表达式,那么编译过的正则表达式使执行加速。然而,假如正则表达式改变了,这种编译毫无益处。
示例
下面的例子举例说明了 compile 方法的用法:
function CompileDemo(){
var rs;
var s = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPp"
// 只为大写字母创建正则表达式。
var r = new RegExp("[A-Z]", "g");
var a1 = s.match(r) // 查找匹配。
// 只为小写字母编译正则表达式。
r.compile("[a-z]", "g");
var a2 = s.match(r) // 查找匹配。
return(a1 + "\n" + a2;
}