JavaScript RegExp 參考手冊
- 上一頁 JS Promise
- 下一頁 JS Set
RegExp 對象
正則表達式是一種字符模式。
該模式用于對文本進行模式匹配的“搜索和替換”功能。
在 JavaScript 中,RegExp 對象是一種擁有屬性和方法的模式。
語法
/pattern/modifier(s);
實例
let pattern = /codew3c/i;
例子解釋:
codew3c | 要搜索的模式 |
/codew3c/ | 正則表達式 |
/codew3c/i | 不區分大小寫的正則表達式 |
如需有關正則表達式的知識,請閱讀我們的 JavaScript RegExp 教程。
方括號
方括號用于查找某個范圍內的字符:
表達式 | 描述 |
---|---|
[abc] | 查找括號之間的任何字符。 |
[^abc] | 查找任何不在方括號之間的字符。 |
[0-9] | 查找任何從 0 至 9 的數字。 |
[^0-9] | 查找任何不在括號內的字符(任何非數字)。 |
(x|y) | 查找任何指定的選項。 |
元字符
元字符是具有特殊含義的字符:
元字符 | 描述 |
---|---|
. | 查找單個字符,除了換行符或行終止符。 |
\w | 查找單詞字符。 |
\W | 查找非單詞字符。 |
\d | 查找數字。 |
\D | 查找非數字字符。 |
\s | 查找空白字符。 |
\S | 查找非空白字符。 |
\b | 在單詞的開頭/結尾查找匹配項,開頭如下:\bHI,結尾如下:HI\b。 |
\B | 查找匹配項,但不在單詞的開頭/結尾處。 |
\0 | 查找 NULL 字符。 |
\n | 查找換行符。 |
\f | 查找換頁符。 |
\r | 查找回車符。 |
\t | 查找制表符。 |
\v | 查找垂直制表符。 |
\xxx | 查找以八進制數 xxx 規定的字符。 |
\xdd | 查找以十六進制數 dd 規定的字符。 |
\udddd | 查找以十六進制數 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 模式的文本。 |
RegExp 對象方法
方法 | 描述 |
---|---|
compile() | 在 1.5 版中已棄用。編譯正則表達式。 |
exec() | 測試字符串中的匹配項。返回第一個匹配項。 |
test() | 測試字符串中的匹配項。返回 true 或 false。 |
toString() | 返回正則表達式的字符串值。 |
RegExp 對象描述
RegExp 對象表示正則表達式,它是對字符串執行模式匹配的強大工具。
直接量語法
/pattern/attributes
創建 RegExp 對象的語法:
new RegExp(pattern, attributes);
參數
參數 pattern 是一個字符串,指定了正則表達式的模式或其他正則表達式。
參數 attributes 是一個可選的字符串,包含屬性 "g"、"i" 和 "m",分別用于指定全局匹配、區分大小寫的匹配和多行匹配。ECMAScript 標準化之前,不支持 m 屬性。如果 pattern 是正則表達式,而不是字符串,則必須省略該參數。
返回值
一個新的 RegExp 對象,具有指定的模式和標志。如果參數 pattern 是正則表達式而不是字符串,那么 RegExp() 構造函數將用與指定的 RegExp 相同的模式和標志創建一個新的 RegExp 對象。
如果不用 new 運算符,而將 RegExp() 作為函數調用,那么它的行為與用 new 運算符調用時一樣,只是當 pattern 是正則表達式時,它只返回 pattern,而不再創建一個新的 RegExp 對象。
拋出
SyntaxError - 如果 pattern 不是合法的正則表達式,或 attributes 含有 "g"、"i" 和 "m" 之外的字符,拋出該異常。
TypeError - 如果 pattern 是 RegExp 對象,但沒有省略 attributes 參數,拋出該異常。
瀏覽器支持
/regexp/ 是 ECMAScript1 (ES1) 的特性。
所有瀏覽器都完全支持 ES1 (JavaScript 1997):
Chrome | IE | Edge | Firefox | Safari | Opera |
---|---|---|---|---|---|
Chrome | IE | Edge | Firefox | Safari | Opera |
支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
支持正則表達式的 String 對象的方法
方法 | 描述 |
---|---|
search | 檢索與正則表達式相匹配的值。 |
match | 找到一個或多個正則表達式的匹配。 |
replace | 替換與正則表達式匹配的子串。 |
split | 把字符串分割為字符串數組。 |
- 上一頁 JS Promise
- 下一頁 JS Set