DIV CSS 佈局教程網

1.8 限定符
編輯:正則表達式     

一、什麼叫限定符?

限定符,就是限定某個或某類字符出現的次數。例如,郵政編碼都是6位數,因此對於表單中的郵政編碼,我們在正則表達式中要限定其為6位數字。匹配郵政編碼的正則表達式是“\d{6}”,其中“{6}”就是限定符。

常用的正則表達式限定符如下:

正則表達式限定符 限定符 說明 + 重復1次或更多次 * 重復0次或更多次(任意次數) ? 重復0次或1次(最多1次) {n} 重復n次 {n,} 重復n次或更多次(最少n次) {n,m} 重復n到m次

接下來,我們詳細為大家講解這些正則表達式限定符。

二、常用的限定符

1、+

在正則表達式中,使用+限定前導字符重復1次或更多次。

舉例:

 
go+

分析:

由於使用了+限定符,因此字母o必須出現1次或者更多次。所以匹配上面正則表達式的字符串有go、good、god等,但是get、g就不匹配了。

在線測試
 
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript">
        var str="good";
        //定義正則表達式
        var myregex = /go+/;
        //判斷字符串str是否匹配正則表達式myregex
        if(myregex.test(str))
        {
            alert("匹配");
        }
        else
        {
            alert("不匹配");
        }
    </script>
</head>
<body>
</body>
</html>

在浏覽器預覽效果如下:


大家在正則表達式測試工具中驗證的可能會發現,對於good這個字符串:咦?高亮的部分怎麼是goo,而不是good呢?上面JavaScript使用test()方法測試中不是說“good”匹配正則表達式go+嗎?

是這樣的,在正則表達式測試工具中,只是把good這個字符串符合go+的部分高亮出來。也就是說,只要字符串有一部分或者全部匹配正則表達式的話(字符串在正則表達式測試工具能高亮),使用JavaScript的test()方法時返回值都是true,也就是說這個字符串匹配該正則表達式。


2、*

在正則表達式中,使用*限定前導字符重復0次或更多次。

舉例:

 
go*

分析:

由於使用了*限定符,因此字母o必須出現0次或者更多次。所以匹配上面正則表達式的字符串有g、go、good、god等,但是get等就不匹配了。注意一下,在這裡字符串g是匹配的,*限定符跟+限定符不一樣,因為+限定符限定前導字符必須出現1次以上。

對於這些正則表達式的學習,請使用正則表達式測試工具進行驗證,那是最明顯直觀的了。

3、?

在正則表達式中,使用?限定前導字符重復0次或1次(最多1次)。

舉例:

 
go?

分析:

由於使用了?限定符,因此字母o必須出現0次或者1次。所以匹配上面正則表達式的字符串只有g、go這2種,其他的諸如god、good、get等就不匹配了。

我們都知道“顏色”的英文是color或者colour,這個時候我們可以使用?限定符。

 
colou?r

表達式u?表示字母“u”可以出現1次或者不出現。

請讀者使用自行正則表達式測試工具判斷哪些字符串匹配。

4、{n}

在正則表達式中,使用{n}限定前導字符重復n次。

舉例:

 
go{3}

分析:

由於使用了?限定符,因此字母o必須出現3次。所以匹配上面正則表達式的字符串只有gooo這1種,其他的諸如god、good、get等就不匹配了。

5、{n,}

在正則表達式中,使用{n,}限定前導字符重復n次或更多次。

舉例:

 
go{3,}

分析:

由於使用了?限定符,因此字母o必須出現3次或更多次。所以匹配上面正則表達式的字符串只有gooo,goooo,gooooo……。

6、{n,m}

在正則表達式中,使用{n,m}限定前導字符重復n到m次(也就是n~m之間任意一個次數)。

舉例:

 
go{1,3}

分析:

由於使用了?限定符,因此字母o必須出現1~3次。所以匹配上面正則表達式的字符串只有go、goo、gooo這3種。

總結

1、常用的正則表達式限定符如下:

正則表達式限定符 限定符 說明 + 重復1次或更多次 * 重復0次或更多次(任意次數) ? 重復0次或1次(最多1次) {n} 重復n次 {n,} 重復n次或更多次(最少n次) {n,m} 重復n到m次

這些限定符都是限定“前導字符”重復的次數。這些限定符很容易記憶,沒記住也沒關系。到時候大家回來查查就OK了。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved