JavaScript RegExp(正則表達(dá)式) 對(duì)象
正則表達(dá)式是描述字符模式的對(duì)象。正則表達(dá)式用于在文本上執(zhí)行模式匹配和“搜索和替換”功能。
var patt = /JC2182/i
示例說明:
- /JC2182/i - 是一個(gè)正則表達(dá)式。
- JC2182 - 是一種模式(用于搜索)。
- i - 是一個(gè)修飾符(將搜索修改為不區(qū)分大小寫)。
修飾符
修飾符用于執(zhí)行不區(qū)分大小寫和全局搜索:
| 修飾符 | 描述 |
|---|---|
| g | 執(zhí)行全局匹配(查找所有匹配項(xiàng),而不是在第一次匹配后停止) |
| i | 執(zhí)行不區(qū)分大小寫的匹配 |
| m | 執(zhí)行多行匹配 |
括號(hào)
括號(hào)用于查找一系列字符:
| 表達(dá)式 | 描述 |
|---|---|
| [abc] | 找到括號(hào)之間的任何字符 |
| [^abc] | 找到不在括號(hào)之間的任何字符 |
| [0-9] | 找到括號(hào)內(nèi)的任何字符(任何數(shù)字) |
| [^0-9] | 找到不在括號(hào)之間的任何字符(任何非數(shù)字) |
| (x|y) | 找到指定的任何替代方案 |
元字符
元字符是具有特殊含義的字符:
| 元字符 | 描述 |
|---|---|
| . | 查找單個(gè)字符,但換行符或行終止符除外 |
| \w | 找一個(gè)單詞字符 |
| \W | 找一個(gè)非單詞字符 |
| \d | 找一個(gè)數(shù)字 |
| \D | 找一個(gè)非數(shù)字字符 |
| \s | 找一個(gè)空白字符 |
| \S | 找到一個(gè)非空白字符 |
| \b | 在單詞的開頭/結(jié)尾找到匹配項(xiàng) |
| \B | 查找不在單詞開頭/結(jié)尾的匹配項(xiàng) |
| \0 | 找一個(gè)NUL字符 |
| \n | 找一個(gè)換行符 |
| \f | 找到換頁符 |
| \r | 找一個(gè)回車符 |
| \t | 找到制表符 |
| \v | 找到垂直制表符 |
| \xxx | 找到由八進(jìn)制數(shù)xxx指定的字符 |
| \xdd | 找到由十六進(jìn)制數(shù)dd指定的字符 |
| \uxxxx | 找到由十六進(jìn)制數(shù)xxxx指定的Unicode字符 |
量詞
| 量詞 | 描述 |
|---|---|
| n+ | 匹配包含至少一個(gè)n的任何字符串 |
| n* | 匹配包含零次或多次n的任何字符串 |
| n? | 匹配包含零個(gè)或一個(gè)n次出現(xiàn)的任何字符串 |
| n{X} | 匹配包含X個(gè)n序列的任何字符串 |
| n{X,Y} | 匹配包含X到Y(jié)個(gè)n序列的任何字符串 |
| n{X,} | 匹配包含至少X到任意大于X個(gè)n序列的任何字符串 |
| n$ | 匹配任何字符串,其末尾為n |
| ^n | 匹配任何字符串在其開頭為n |
| ?=n | 匹配任何后跟特定字符串n的字符串 |
| ?!n | 匹配任何未跟隨特定字符串n的字符串 |
RegExp對(duì)象屬性
| 屬性 | 描述 |
|---|---|
| constructor | 返回創(chuàng)建RegExp對(duì)象原型的函數(shù) |
| global | 檢查是否設(shè)置了“g”修飾符 |
| ignoreCase | 檢查是否設(shè)置了“i”修飾符 |
| lastIndex | 指定開始下一個(gè)匹配的索引 |
| multiline | 檢查是否設(shè)置了“m”修飾符 |
| source | 返回RegExp模式的文本 |
RegExp對(duì)象方法
| 屬性 | 描述 |
|---|---|
| compile() | 在1.5版中已棄用。 編譯正則表達(dá)式 |
| exec() | 測(cè)試字符串中的匹配項(xiàng)。 返回第一個(gè)匹配項(xiàng) |
| test() | 測(cè)試字符串中的匹配項(xiàng)。 返回true或false |
| toString() | 返回正則表達(dá)式的字符串值 |