正則表達式(regular expression)是一種表達文本模式(即字符串結構)的方法,有點像字符串的模板,常常用來按照“給定模式”匹配文本。比如,正則表達式給出一個 Email 地址的模式,然后用它來確定一個字符串是否為 Email 地址。JavaScript 的正則表達式體系是參照 Perl 5 建立的。
新建正則表達式有兩種方法。一種是使用字面量,以斜杠表示開始和結束。
~~~
var regex = /xyz/;
~~~
另一種是使用`RegExp`構造函數。
~~~
var regex = new RegExp('xyz');
~~~
上面兩種寫法是等價的,都新建了一個內容為`xyz`的正則表達式對象。它們的主要區別是,第一種方法在引擎編譯代碼時,就會新建正則表達式,第二種方法在運行時新建正則表達式,所以前者的效率較高。而且,前者比較便利和直觀,所以實際應用中,基本上都采用字面量定義正則表達式。
`RegExp`構造函數還可以接受第二個參數,表示修飾符。
~~~
var regex = new RegExp('xyz', 'i');
// 等價于
var regex = /xyz/i;
~~~
上面代碼中,正則表達式`/xyz/`有一個修飾符`i`。
- 第一章:變量與作用域
- 第一節:變量
- 第二節:執行環境及作用域
- 第三節:JS 解析機制
- 第四節:垃圾收集
- 第二章:深入函數
- 第一節:概述
- 第二節:函數聲明
- 第三節:函數調用
- 第四節:函數參數
- 第五節:函數返回值
- 第三章:面向對象
- 第一節:概述
- 第二節:對象聲明
- 第三節:this 關鍵字
- 第四節:對象遍歷
- 第五節:對象繼承
- 第六節:模塊
- 第四章:正則表達式
- 第一節:概述
- 第二節:實例屬性
- 第三節:實例方法
- 第一課時:測試
- 第二課時:執行
- 第四節:匹配規則
- 第一課時:字面量字符和元字符
- 第二課時:轉義符
- 第三課時:特殊字符
- 第四課時:字符類
- 第五課時:預定義模式
- 第六課時:重復類
- 第七課時:量詞符
- 第八課時:貪婪模式
- 第九課時:修飾符
- 第十課時:組匹配
- 第五節:字符串的實例方法
- 第一課時:匹配
- 第二課時:搜索
- 第三課時:替換
- 第四課時:分割