DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 正則表達式 >> 1.10 正則表達式轉義字符
1.10 正則表達式轉義字符
編輯:正則表達式     

一、轉義字符簡介

對於轉義字符的概念,我們在JavaScript入門教程中的“JavaScript特殊數據類型”這一節已經有過詳細的介紹。

但是正則表達式本身有它的一套轉義字符。正則表達式中的轉義字符跟JavaScript中的轉義字符是不一樣的,僅僅是概念理解一樣,大家要區分一下。

我們都知道正則表達式包括2種字符:(1)普通字符;(2)特殊字符。如果我們要匹配正則表達式中的特殊字符,我們就必須在該特殊字符前面加上反斜槓“\”將其進行轉義。

例如我們要匹配“go+”這個字符(這裡說的是字符),那正則表達式怎麼寫呢?很多初學者會寫成下面這種形式:

 
go+

根據前面學習的“正則表達式限定符”我們知道,上面的正則表達式使用了+限定符,因此字母o必須出現1次或者更多次。所以匹配上面正則表達式的字符串有go、good、god等。但是我們只想匹配“go+”這3個字符!

正常寫法如下:

 
go\+

分析:

因為+是正則表達式的特殊符號,因此必須在+前面加上“\”對其進行轉義。

例如要匹配字面意義的“\”,就需要使用“\\”表示。

需要轉義的字符有:$、(、)、*、+、.、[、]、?、\、/、^、{、}、|。這些字符都不需要記憶,見得多就自然而然記住了。

舉例:

在線測試
 
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript">
        var str1="510632";
        var str2="lvyestudy";
        var myregex = new RegExp("\\d{6}");
        if(myregex.test(str1))
        {
            document.write("'510632'是正確的郵政編碼"+"<br/>");
        }
        else
        {
            document.write("'510632'不是正確的郵政編碼"+"<br/>");
        }
        if(myregex.test(str2))
        {
            document.write("'lvyestudy'是正確的郵政編碼");
        }
        else
        {
            document.write("'lvyestudy'不是正確的郵政編碼");
        }
    </script>
</head>
<body>
</body>
</html>

在浏覽器預覽效果如下:


分析:

 
var myregex = new RegExp("\\d{6}");

對於上面正則表達式的定義,很多初學者會有疑問,為什麼是“\\d{6}”而不是“\d{6}”?其實使用new關鍵字定義正則表達式,RegExp對象是一個字符串,因此這裡必須使用JavaScript的轉義字符(不同於正則表達式轉義字符)。大家仔細琢磨琢磨哈。

 
var myregex = /\d{6}/
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved