程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 更多關於編程 >> 正則中的圓括號()的用途詳解

正則中的圓括號()的用途詳解

編輯:更多關於編程

       正則表達式中的圓括號的作用是對字符進行分組,並保存匹配的文本。今天我們就來詳細探討下正則中的圓括號()的用途,希望對大家學習正則有所幫助。

      首先我們前面介紹過,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(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

      方法一:對兒子操作

      ?

    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 的字符.

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

      以上所述就是本文的全部內容了,希望大家能夠喜歡。

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved