国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

瑞士軍刀---正則表達式

Rango / 2283人閱讀

摘要:簡介正則表達式,又稱正規表示法正規表達式規則表達式常規表示法英語,在代碼中常簡寫為或,計算機科學的一個概念。返回布爾值,該值指示在正則表達式中使用的標志的狀態。包含正則表達式模式和適用標志的對象的實例。

簡介

正則表達式,又稱正規表示法、正規表達式、規則表達式、常規表示法(英語:Regular Expression,在代碼中常簡寫為regex、regexp或RE),計算機科學的一個概念。正則表達式使用單個字符串來描述、匹配一系列符合某個句法規則的字符串。在很多文本編輯器里,正則表達式通常被用來檢索、替換那些符合某個模式的文本。

說人話就是:對字符串執行模式匹配的強大工具。

Javascript中的正則表達式相較于其他語言來說實現的并不完整,但仍然是十分強大的,能夠幫助我們完成絕大多數模式匹配任務。

定義

在javascript中,正則表達式的定義和數組以及對象的定義一樣有倆種方式。 一種是直接量,另一種是構造函數。

直接量

Javascript可以使用類似Perl的語法定義一個正則表達式

var r = /pattern/flags;

其中pattern是任何簡單或復雜的正則表達式,flags是用以表達正則表達式行為的一個或者多個標識。

flags

g 表示全局(global)模式,即模式將被應用于所有字符串

i 表示不區分大小寫

m 多行模式

舉個栗子:

var reg1 = /ip/g; // 匹配字符串中所有"ip"的實例

var reg2 = /com/gi; // 匹配以"com"結尾的三個字符的組合,不區分大小寫
使用構造函數

Javascript中正則表達式的構造函數為RegExp,即Regular Expression的縮寫,它接收兩個參數,第一個為要匹配的字符串模式,另一個是可選的標識位。

var reg = new RegExp("nice", "g"); // 匹配字符串中所有的"nice"

注意:第一個參數是一個字符串nice,而不是正則表達式的直接量/nice/

雙重轉義

所有元字符都需要進行雙重轉義

所有元字符都需要進行雙重轉義

所有元字符都需要進行雙重轉義

使用構造函數定義正則表達式,由于構造函數的第一個參數必須是一個字符串,在匹配元字符時,需要雙重轉義。

//  匹配{user}
var reg1 = new RegExp("{user}", "g"); // wrong

// 由于在字符串中需要轉義為,所以,如果要匹配{user},正則表達式需要寫為
var reg1 = new RegExp("{user}", "g");
基本概念總結 元字符

在正則表達式的模式中,有一些字符是有特殊含義的,被稱為元字符,如果要匹配元字符,則必須對其進行轉義,如果用構造函數,則要進行雙重轉義。

這些元字符分別是(一共14個):

{ ( [   ^ $ |  ? * + . ] ) }
直接量字符

| 字符 | 匹配 |
| ------------- |:-------------:|
|字母數字字符|自身|
|