個人習慣用思維導圖做筆記,重新敲一遍加深印象
正則表達式
概念:正則表達式是一個用於對字符串實現邏輯匹配運算的對象
創建正則表達式對象
(1)構造函數聲明:
var reg = new RegExp(/abc/,‘i’)
第一個參數爲過濾字符串的規則
第二個參數爲修飾符
(2)字面量簡介方式(常用)
var reg = /abc/i
在//內規定過濾規則,後面是修飾符
匹配方法
test():檢測是否滿足表達式匹配結果,返回布爾值
返回匹配結果詳細信息
exec():返回數組
兩種基本字符
1.原義文本字符
字符本身的含義,例如‘/abc/’表示匹配abc
2.元字符
在正則表達式中有特殊含義的非字母字符,包括:
*+?$^.|(){}[]
| | 或 | console.log(/a|b/.test(‘ac’));//true;一真全真 |
[] | 簡單字符類 | console.log(/[abc]/.test(‘ac’));//true;一真全真 |
[^] | 反向類(負向類) | console.log(/[^abc]/.test(‘abcd’));//true;一假則真 |
- | 範圍類 | [0-9]表示0到9之間的任意字符,同樣適用於a-z,A-Z |
預定義類:
. | 除了回車和換行之外的所有字符 | 等價於[^\r\n] |
\d | 數字字符 | 等價於[0-9] |
\D | 非數字字符 | 等價於[^0-9] |
\s | 空白字符 | 等價於[\f\n\r\t\v] |
\S | 非空白字 | 等價於[^\f\n\r\t\v] |
\w | 單詞字符(字母、下劃線、數字) | 等價於[a-zA-Z_0-9] |
\W | 非單詞字符 | 等價於[^a-zA-z_0-9] |
邊界字符
^ | 以指定字符爲開頭 | 此處的^區分包含在[]中的^,[^]爲反向類 |
$ | 以指定字符爲結尾 | |
\b | 單詞邊界 | |
\B | 非單詞邊界 |
量詞
() | 分組 | |
{} | 匹配的程度 | {2,3}表示至少匹配2次,最多匹配3次 |
? | 匹配包含0個或一個指定字符的字符串 | |
* | 修飾匹配數量爲任意數量,包括0次 | |
+ | 前導字符必須在目標對象中連續出現一次或多次 |
修飾符
i | 大小寫不敏感 | |
g | 全局匹配,不侷限於第一次 | |
m | 檢測換行符 |
修飾符可以同時使用多個
驗證漢字
/[\u4e00-\u9fa5]/ |
不定期更新…