正規表達式是描述字元模式的對象。
正規表達式用于對字元串模式比對及檢索替換,是對字元串執行模式比對的強大工具。
var patt=new RegExp(pattern,modifiers);
或者更簡單的方式:
var patt=/pattern/modifiers;
pattern(模式) 描述了表達式的模式
modifiers(修飾符) 用于指定全局比對、區分大小寫的比對和多行比對
注意:當使用構造函數創造正則對象時,需要正常的字元轉義規則(在前面加反斜杠 \)。比如,以下是等價的:
更多關于 RegExp 對象請閱讀我們的
JavaScript RegExp 對象教程。
修飾符用于執行區分大小寫和全局比對:
修飾符
描述
i
執行對大小寫不敏感的比對。
g
執行全局比對(查找所有比對而非在找到第一個比對後停止)。
m
執行多行比對。
方括号用于查找某個範圍内的字元:
表達式
[abc]
查找方括号之間的任何字元。
[^abc]
查找任何不在方括号之間的字元。
[0-9]
查找任何從 0 至 9 的數字。
[a-z]
查找任何從小寫 a 到小寫 z 的字元。
[A-Z]
查找任何從大寫 A 到大寫 Z 的字元。
[A-z]
查找任何從大寫 A 到小寫 z 的字元。
[adgk]
查找給定集合内的任何字元。
[^adgk]
查找給定集合外的任何字元。
(red|blue|green)
查找任何指定的選項。
元字元(Metacharacter)是擁有特殊含義的字元:
元字元
.
查找單個字元,除了換行和行結束符。
\w
查找數字、字母及下劃線。
\W
查找非單詞字元。
\d
查找數字。
\D
查找非數字字元。
\s
查找空白字元。
\S
查找非空白字元。
\b
比對單詞邊界。
\B
比對非單詞邊界。
\0
查找 NULL 字元。
\n
查找換行符。
\f
查找換頁符。
\r
查找回車符。
\t
查找制表符。
\v
查找垂直制表符。
\xxx
查找以八進制數 xxx 規定的字元。
\xdd
查找以十六進制數 dd 規定的字元。
\uxxxx
查找以十六進制數 xxxx 規定的 Unicode 字元。
量詞
n+
比對任何包含至少一個 n 的字元串。
例如,/a+/ 比對 "candy" 中的 "a","caaaaaaandy" 中所有的 "a"。
n*
比對任何包含零個或多個 n 的字元串。
例如,/bo*/ 比對 "A ghost booooed" 中的 "boooo","A bird warbled" 中的 "b",但是不比對 "A goat grunted"。
n?
比對任何包含零個或一個 n 的字元串。
例如,/e?le?/ 比對 "angel" 中的 "el","angle" 中的 "le"。
n{X}
比對包含 X 個 n 的序列的字元串。
例如,/a{2}/ 不比對 "candy," 中的 "a",但是比對 "caandy," 中的兩個 "a",且比對 "caaandy." 中的前兩個 "a"。
n{X,}
X 是一個正整數。前面的模式 n 連續出現至少 X 次時比對。
例如,/a{2,}/ 不比對 "candy" 中的 "a",但是比對 "caandy" 和 "caaaaaaandy." 中所有的 "a"。
n{X,Y}
X 和 Y 為正整數。前面的模式 n 連續出現至少 X 次,至多 Y 次時比對。
例如,/a{1,3}/ 不比對 "cndy",比對 "candy," 中的 "a","caandy," 中的兩個 "a",比對 "caaaaaaandy" 中的前面三個 "a"。注意,當比對 "caaaaaaandy" 時,即使原始字元串擁有更多的 "a",比對項也是 "aaa"。
n$
比對任何結尾為 n 的字元串。
^n
比對任何開頭為 n 的字元串。
?=n
比對任何其後緊接指定字元串 n 的字元串。
?!n
比對任何其後沒有緊接指定字元串 n 的字元串。
方法
compile
在 1.5 版本中已廢棄。 編譯正規表達式。
exec
檢索字元串中指定的值。傳回找到的值,并确定其位置。
test
檢索字元串中指定的值。傳回 true 或 false。
toString
傳回正規表達式的字元串。
FF
IE
search
檢索與正規表達式相比對的值。
1
4
match
找到一個或多個正規表達式的比對。
replace
替換與正規表達式比對的子串。
split
把字元串分割為字元串數組。
屬性
constructor
傳回一個函數,該函數是一個建立 RegExp 對象的原型。
global
判斷是否設定了 "g" 修飾符
ignoreCase
判斷是否設定了 "i" 修飾符
lastIndex
用于規定下次比對的起始位置
multiline
判斷是否設定了 "m" 修飾符
source
傳回正規表達式的比對模式