欢迎来到山村网

正则中的圆括号()的用途详解

2019-03-02 12:07:19浏览:452 来源:山村网   
核心摘要:  正则表达式中的圆括号的作用是对字符进行分组,并保存匹配的文本。今天我们就来详细探讨下正则中的圆括号()的用途,希望对大

  正则表达式中的圆括号的作用是对字符进行分组,并保存匹配的文本。今天我们就来详细探讨下正则中的圆括号()的用途,希望对大家学习正则有所帮助。

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

  先举个例子:

  ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 <!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(a2); }); }; </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

  方法一:对儿子操作

  ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 <!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>

  方法二:对母亲操作

  ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 <!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 的字符.

  ()也是匹配一个集合,但它还可以用作反向引用.

  以上所述就是本文的全部内容了,希望大家能够喜欢。

(责任编辑:豆豆)
下一篇:

C#中矩阵运算方法实例分析

上一篇:

各种语言、服务器301跳转代码全集

  • 信息二维码

    手机看新闻

  • 分享到
打赏
免责声明
• 
本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们 xfptx@outlook.com