目錄
1-字符
字符主要分普通字符、特殊字符(元字符)、和預定義字符
- 普通字符:元字符包括數字(0-9)、字母(abcABC)、下劃線(_),它就代表它本身的含義
- 特殊字符:特殊字符在正則匹配中有特殊的含義,如果要匹配這些特么字符,需要在前面加轉意字符‘/’
特殊字符有 () [] {} ^ $ | ? * +
例如:匹配[]
//[/]/
- 預定義字符
\t /\t/ 制表符
\n /\n/ 回車符即換行符
\f /\f/ 換頁符
\b /\b/ 與回退字符
2-字符集
字符集用[]表示,匹配[]集合里面一個字符,它有兩種寫法
如果在[]的第一個位置使用^ ,代表除了的意思
1. 具體寫法
[abcdefg] 匹配abcdefg中的一個
2. 范圍寫法
[A-Z] 匹配大寫字母中的一個
[a-z] 配置小寫字母中的一個
[0-9] 匹配數字中的一個
[a-zA-Z0-9_] 匹配所有普通字符
3. ^的使用
[^1-3] 除了1-3以外的所有字符
3-預定義類
預定義類規定的一些字符代表具體的含義
1. . [^\n\r] 除了換行和回車之外的任意字符
2. \d [0-9] 數字字符
3. \D [^0-9] 非數字字符
4. \w [a-zA-Z_0-9] 單詞字符(所有的字母)
5. \W [^a-zA-Z_0-9] 非單詞字符
6. \s [\t\n\x0B\f\r] 空白字符
7. \S [^\t\n\x0B\f\r] 非空白字符
4-邊界
- ^ 起始位置,代表字符串必需以什么開始
/^1123/ 字符串必需以數字1開始
- $ 結束位置,代表字符串必需以什么結束
/13$/ 字符串必需以數字3結束
- \b 單詞分隔符
/\bhello\/ 匹配hello 如果字符串是'hellossb' 則不會匹配
5-量詞
- ?: 出現0次或者0次
- *: 出現0次或者多次
- +:出現1次或者多次(至少出現1次)
- {n}: 出現具體n次
- {n,}: 至少出現n次
- {n,m}: 出現n-m次
6-分組
分組符號:() |
- ():中括號只能匹配一個字符,分組后匹配多個字符
/(abc)/ sdfabc 這樣就能匹配abc
- |: 或者 在[]中更代表豎線
/(ab|cd)/ 匹配 ab或者cd
7-修飾符
- g: 全局匹配
- i:忽略大小寫
- m:多行匹配