DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 正則表達式 >> 1.15 正則表達式基礎總結
1.15 正則表達式基礎總結
編輯:正則表達式     

一、基本語法

1、正則表達式是什麼?

正則表達式,就是用某種模式去匹配一類字符串的公式。學習正則表達式就是學習怎樣定義一種“模式”的語法,說白了,就是學習各種匹配的規則,例如匹配數字要怎麼要怎麼寫,匹配字符怎麼寫等等。

2、正則表達式的定義

正則表達式的定義共有2種方式:

(1)顯式定義;

(2)隱式定義;

舉例:

 
var myregex = new ReExp("[0-9]");    //顯式定義
var myregex = /[0-9]/;    //隱式定義

3、test()方法

test()方法返回一個boolean值。也就是說,test()方法檢查字符串str是否符合正則表達式模式rgexp,如果符合,則返回true;如果不符合,則返回false。

二、正則語法

1、常用元字符

正則表達式常用的元字符如下:

正則表達式元字符 元字符 說明 \d 匹配數字,相當於[0-9] \D 匹配非數字,相當於[^0-9] \w 匹配字母或數字或漢字或下劃線 \W 匹配任意不是字母、數字、漢字或下劃線的字符 \s 匹配任意的空白符,如空格、換行符、制表符等 \S 匹配任意不是空白符的字符 .(點號) 匹配除了換行符以外的任意字符 [...] 匹配方括號中的所有字符 [^...] 匹配非方括號中的所有字符

2、連接符

在正則表達式中,匹配數字或者英文字母的書寫非常不方便。因此,正則表達式引入了連接符“-”來定義字符的范圍。

正則表達式連接符 連接符 說明 [0-9] 匹配數字,等價於\d [a-z] 匹配英文小寫字母 [A-Z] 匹配英文大寫字母 [0-9a-zA-z] 匹配數字或英文字母

3、限定符

限定符,就是限定某個或某類字符出現的次數。

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

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

4、定位符

在正則表達式中,定位符,說白了,就是限定某些字符出現的位置。

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

正則表達式定位符 定位符 說明 ^ 限定開始位置的字符 $ 限定結尾位置的字符 \b 限定單詞(字)邊界的字符 \B 限定非單詞(字)邊界的字符

5、轉義字符

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

舉例:

 
go\+

分析:

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

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

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

6、分組

分組又稱為子表達式,即把一個正則表達式的全部或部分分成一個或多個組。其中,分組使用的字符為“(”和“)”,即左圓括號和右圓括號。分組之後,用小括號括起來的表達式看出一個整體來處理。

7、選擇符

選擇匹配符,很簡單。在正則表達式中,選擇匹配符是“|”,用於選擇匹配2個選項之中的任意一個,類似JavaScript中的“或”運算。

例如,“abc|def1”匹配的是“abc”或“def1”,而不是“abc1”或“def1”。如果要匹配“abc1”或“def1”,應該使用分組符,即“(abcd|efgh)1”。

8、注釋

語法:

 
(?#注釋的內容)

說明:

如果要在正則表達式中包含注釋,則最好打開“忽略模式裡的空白符”選項。因此,此時可以在注釋中添加空格、換行符號、制表符號等。一旦啟用了該選項,即符號#之後的內容會全部被忽略掉。

這種注釋方式暫時並未被JavaScript支持,但是其他高級語言可能使用到。對於學習前端的同學,可以忽略這個知識點。

9、優先級順序

優先級順序 運算符或表達式 說明 \ 轉義符 ()、(?:)、(?=)、[] 圓括號或方括號 *、+、?、{n}、{n,}、{n,m} 限定符 ^、$、\b、\B 位置和順序 | 選擇符,“或”運算

上面優先級是從高到低排列。這些優先級順序並不需要刻意去記憶,平常用得到了,自然而然就知道。

至此,正則表達式基礎部分已經給大家分享完了。不過,對於正則的學習未完待續,過一段時間,等站長編寫完了再給大家更新正則表達式進階部分和應用部分,詳細為大家介紹正則表達式進階技巧和前端中的表單驗證等各種技巧。

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