JavaScript RegExp(正則表達式) 對象
正則表達式是描述字符模式的對象。正則表達式用於在文本上執行模式匹配和“搜索和替換”功能。
var patt = /JC2182/i
示例說明:
- /JC2182/i - 是一個正則表達式。
- JC2182 - 是一種模式(用於搜索)。
- i - 是一個修飾符(將搜索修改爲不區分大小寫)。
修飾符
修飾符用於執行不區分大小寫和全局搜索:
修飾符 | 描述 |
---|---|
g | 執行全局匹配(查找所有匹配項,而不是在第一次匹配後停止) |
i | 執行不區分大小寫的匹配 |
m | 執行多行匹配 |
括號
括號用於查找一系列字符:
表達式 | 描述 |
---|---|
[abc] | 找到括號之間的任何字符 |
[^abc] | 找到不在括號之間的任何字符 |
[0-9] | 找到括號內的任何字符(任何數字) |
[^0-9] | 找到不在括號之間的任何字符(任何非數字) |
(xΙy) | 找到指定的任何替代方案 |
元字符
元字符是具有特殊含義的字符:
元字符 | 描述 |
---|---|
. | 查找單個字符,但換行符或行終止符除外 |
w | 找一個單詞字符 |
W | 找一個非單詞字符 |
d | 找一個數字 |
D | 找一個非數字字符 |
s | 找一個空白字符 |
S | 找到一個非空白字符 |
b | 在單詞的開頭/結尾找到匹配項 |
B | 查找不在單詞開頭/結尾的匹配項 |
0 | 找一個NUL字符 |
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到任意大於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() | 返回正則表達式的字符串值 |