最新的Web開發教程
 

JavaScript正則表達式參考


RegExp對象

正則表達式是用來描述字符的圖案的物體。

正則表達式用來進行模式匹配和"search-and-replace"文本的功能。

句法

/ pattern / modifiers ;

var patt = /w3ii/i

為例進行了說明:

  • / w3ii / i是正則表達式。
  • w3ii是一個模式(to be used in a search)
  • i為改性劑(modifies the search to be case-insensitive)

對於一個正則表達式的教程,請閱讀我們的JavaScript的RegExp教程


修飾符

修飾符用於執行不區分大小寫和全局搜索:

修改 描述
i 執行區分大小寫的匹配
g 執行全局匹配(find all matches rather than stopping after the first match)
m 執行多行匹配

括號

支架用於查找字符的範圍:

表達 描述
[abc] 查找方括號之間的任何字符
[^abc] 找不到括號之間的任何字符
[0-9] 查找方括號之間的任意數字
[^0-9] 查找不括號之間的任何數字
(x|y) 查找指定的任何替代品

元字符

元字符是有特殊含義的字符:

元字符 描述
查找單個字符,除了換行符或行結束
\ W 查找單詞字符
\ W 查找非單詞字符
\ D 查找數字
\ D 查找非數字字符
\ S 查找空白字符
\ S 查找非空白字符
\ b 找到匹配一個單詞的開始/結束
\乙 找到匹配不是在一個單詞的開頭/結束
\ 0 查找NULL字符
\ n 找到一個新的行字符
\F 查找換頁符
\ r 查找回車符
\ t 查找製表符
符\ v 查找垂直製表符
\ XXX 查找八進制數XXX指定的字符
\ XDD 查找十六進制數DD指定的字符
為\ uXXXX 查找十六進制數XXXX規定的Unicode字符

量詞

量詞 描述
n+ 匹配包含至少一個n的任何字符串
n* 匹配包含零個或多個n個任意字符串
n? 匹配包含零個或一個n個任意字符串
n{X} 匹配包含的序列的字符串X n
n{X,Y} 匹配包含X與Y序列的字符串n
n{X,} 匹配包含至少X的序列的字符串n
n$ 匹配有n任何字符串在它的結束
^n 匹配有n任何字符串在它的開始
?=n 匹配後跟指定字符串n任何字符串
?!n 匹配後面沒有一個特定的字符串n任何字符串

RegExp對象屬性

屬性 描述
constructor 返回創建RegExp對象的原型功能
global 檢查是否"g"修改設置
ignoreCase 檢查是否"i"修改設置
lastIndex 指定索引處開始進行下一場比賽
multiline 檢查是否"m"修改設置
source 返回正則表達式模式的文本

RegExp對象的方法

方法 描述
compile() 棄用1.5版本。 編譯正則表達式
exec() 試驗在一個字符串匹配。 返回的第一場比賽
test() 試驗在一個字符串匹配。 返回true或false
toString() 返回正則表達式的字符串值