内容目录
compile()
函数用于更改正则表达式模式,并将正则表达式模式编译为内部格式,从而执行得更快。
该函数属性RegExp
对象(实例),所有主流浏览器均支持该函数。
语法
regExpObject.compile( pattern [, flags ] )
参数
参数 | 描述 |
---|---|
pattern | String类型字符串形式的正则表达式模式。 |
flags | 可选/String类型指定的正则表达式标志字符串。 |
参数flags可以使用以下标志字符,从而让正则表达式在搜索时满足某些特定的功能(这些字符可以任意组合使用)。
g
:全局搜索出现的所有pattern
匹配,而不仅仅是第一个匹配。i
:搜索不区分大小写。m
:多行搜索("^"、"$"可额外匹配多行文本中每行的开始位置和结束位置)。
返回值
compile()
函数没有返回值(或者说,返回值为undefined
)。该函数直接将当前RegExp对象实例的正则表达式模式替换为经过编译的、新的正则表达式模式。
compile()
函数将pattern
转换为内部的格式,从而执行得更快。例如,这允许在循环中更有效地使用正则表达式。当重复使用相同的表达式时,编译过的正则表达式使执行加速。然而,如果正则表达式发生更改,则这种编译毫无益处。
示例&说明
var str = "abc12456def45646ghi";
var regExp = new RegExp("[a-z]+");
document.writeln( regExp.exec(str) ); // abc
// 更改regExp的正则表达式模式,并进行编译
// 这与下列语句的作用是相同的:regExp = /\d+/;
regExp.compile("\\d+");
document.writeln( regExp.exec(str) ); // 12456
0 条评论
撰写评论