正则中的圆括号()的用途详解
我们前面介绍过,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的值,你会发现一些规律
单独查看a12015- 8-
单独查看a22015 8
单独查看a3- -
把三个参数形象的打个比方吧,a1相当于母亲,a2是大儿子,a3是小儿子,每个儿子都继承了妈妈的一部分基因
a1是var re=/\d+-/g; 这个正则的结果
a2是var re=/(\d+)(-)/g;左边第一个括号的结果
a2是var re=/(\d+)(-)/g;左边第二个括号的结果
说了这么多参数的用途,狼蚁网站SEO优化我们来实现输出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()方法的回调函的多个参数与括号之间的关系,瞬间觉得正则复杂了起来。。。。
正则表达式中方括号[]与圆括号()的区别是什么?
最基本的意思小括号就是括号内看成一个整体 ,中括号就是匹配括号内的其中一个,大括号就是匹配几次
括号里变加上其他字符就有不同意思 详细介绍 例如
{n}
n是一个非负整数.匹配确定的n次.例如,“o{2}”不能匹配“Bob”中的“o”,能匹配“food”中的两个o.
{n,}
n是一个非负整数.至少匹配n次.例如,“o{2,}”不能匹配“Bob”中的“o”,但能匹配“foooood”中的所有o.“o{1,}”等价于“o+”.“o{0,}”则等价于“o”.
{n,m}
m和n均为非负整数,其中n
[] 无意义,一般用作匹配一个集合
比如
[0-9] :查找任何从 0 至 9 的数字.
[a-Z] :查找任何从小写 a 到大写 Z 的字符.
()也是匹配一个集合,但它还可以用作反向引用.
以上所述就是本文的全部内容了,希望大家能够喜欢。
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程