首页 > 编程 > Regex > 正文

js正则表达式之RegExp对象之compile方法 编译正则表达式

2020-03-16 21:08:50
字体:
来源:转载
供稿:网友
该方法可以编译指定的正则表达式,编译之后的正则表达式执行速度将会提高,如果正则表达式多次被调用,那么调用compile方法可以有效的提高代码的执行速度,如果该正则表达式只能被使用一次,则不会有明显的效果
 
 
功能说明:该方法可以编译指定的正则表达式,编译之后的正则表达式执行速度将会提高,如果正则表达式多次被调用,那么调用compile方法可以有效的提高代码的执行速度,如果该正则表达式只能被使用一次,则不会有明显的效果。 

基本语法:objReg.compile(pattern[,flag]) 
objReg必选项,RegExp对象变量的名称 
pattern 必选项 正则表达式 
flag 可选项 匹配选项 

复制代码代码如下:

<html> 
<script language="javascript" type="text/javascript"> 
//要匹配的字符串 
var objStr="我的手机号13522222222,他的手机号码13233333333她的手机号码13988888888"; 
//设置正则表达式匹配以13开头的11为手机号码,全局匹配(这里是匹配移动手机号) 
var reg=new RegExp("13[4-9](//d){8}","g"); 
//提示用户发现移动号码,然后打印出结果 
document.write("发现移动手机号码"); 
//调用函数打印匹配的结果 
findPhoneNumbers(objStr.match(reg)); 
//重新编译正则表达式 
reg.compile("13[0-3](//d){8}","g"); 
document.write("发现联通手机号码"); 
findPhoneNumbers(objStr.match(reg)); 
//定义输出返回结果函数 
function findPhoneNumbers(arr){ 
//使用循环输出数据 
for(var i=0;i<arr.length;i++){ 
document.write("<li>"+arr[i]+"<br>"); 


</script> 
</html> 


使用compile方法还可以对指定的正则表达式进行修改并且重新编译,提高了正则表达式的适应性!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表