正則中的圓括號()的用途詳解
來源:易賢網 閱讀:832 次 日期:2015-04-24 10:28:43
溫馨提示:易賢網小編為您整理了“正則中的圓括號()的用途詳解”,方便廣大網友查閱!

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

首先我們前面介紹過,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的值,你會發(fā)現一些規(guī)律

單獨查看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()方法的回調函的多個參數與括號之間的關系,瞬間覺得正則復雜了起來。。。。

正則表達式中方括號[]與圓括號()的區(qū)別是什么?

最基本的意思:小括號就是括號內看成一個整體 ,中括號就是匹配括號內的其中一個,大括號就是匹配幾次

但是括號里變加上其他字符就有不同意思 詳細介紹 例如:

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

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

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

更多信息請查看IT技術專欄

更多信息請查看網絡編程
易賢網手機網站地址:正則中的圓括號()的用途詳解

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯(lián)系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網