首页 > 网站 > WEB开发 > 正文

正则中的括号()的用途(匹配子项或是分组)

2024-04-27 14:10:36
字体:
来源:转载
供稿:网友

正则中的括号()的用途(匹配子项或是分组)

首先我们前面介绍过,replace()方法中的第二个参数若是回调函数,那么这个回调函数中的参数就是匹配成功后的结果。。。。。,那么有没有考虑回调函数中有多个参数呢?先举个例子:

<!DOCTYPE><html><head>    <meta charset='utf-8'>     <title></title></head><script type="text/javascript">window.onload=function(){    var date='2015-8-7';    var re=/(/d+)(-)/g;    date.replace(re,function(a1,a2,a3){        /*alert(a1);*/        alert(a2);        /*alert(a3);*/    });};</script><body></body></html>

上面的例子需要你分别查看a1,a2,a3的值,你会发现一些规律单独查看a1:2015- 8-单独查看a2:2015 8单独查看a3:- -把三个参数形象的打个比方吧,a1相当于母亲,a2是大儿子,a3是小儿子,每个儿子都继承了妈妈的一部分基因a1是var re=//d+-/g; 这个正则的结果a2是var re=/(/d+)(-)/g;左边第一个括号的结果a2是var re=/(/d+)(-)/g;左边第二个括号的结果说了这么多参数的用途,下面我们来实现输出:2015.8.7方法一:对儿子操作

<!DOCTYPE><html><head>    <meta charset='utf-8'>     <title></title></head><script type="text/Javascript">window.onload=function(){    var date='2015-8-7';    var re=/(/d+)(-)/g;    var a=date.replace(re,function(a1,a2,a3){        return a2+'.';    });    alert(a);};</script><body></body></html>

方法二:对母亲操作

<!DOCTYPE><html><head>    <meta charset='utf-8'>     <title></title></head><script type="text/javascript">window.onload=function(){    var date='2015-8-7';    var re=/(/d+)(-)/g;    var a=date.replace(re,function(a1,a2,a3){        return a1.substring(0,a1.length-1)+'.';    });    alert(a);};</script><body></body></html>

学了正则中的replace()方法的回调函的多个参数与括号之间的关系,瞬间觉得正则复杂了起来。。。。


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