---
# System prepended metadata

title: 正則表達式 Regular Expression
tags: [單元筆記]

---

# 正則表達式 Regular Expression

###### tags: `單元筆記`

### 參考
[MDN文件說明](https://developer.mozilla.org/zh-TW/docs/Web/JavaScript/Guide/Regular_Expressions)
[RegexOne練習網站](https://regexone.com/)

### 主要用途
過濾數字及文字的格式(電話號碼、身分證字號、Email)
也可以替代文字時使用

### 測試
將比對條件放在//之間
```javascript=
      let str = "Allen Wang";
      let result01 = str.match(/Wang/);
      console.log(result01.length); //1

      let result02 = /Wang/.test(str);
      let result03 = /wang/.test(str);
      console.log(result02); //True
      console.log(result03); //False
```
### 符號記一下
| 字元 | 解說 |
| - | - |
| *  | 0個或是多個 |
| +  | 1個或是多個 |
| ?  | 0個或是1個 |
| \d  | 任何的數字 |
| \D  | 任何的非數字 |
| \  | 跳脫字元 |
| []  | 只能是([a-z][A-Z][0-9]) |
| [^]  | 不能是 |
| \w | 任何字母數字 |
| \W | 任何非字母數字(應該就是指符號 ) |
| {} | 幾個字元 |
| {,} | 幾到幾個字元 |
| \s | 任何空白 |
| \S | 任何非空白 |
| ^...$ | 開頭跟結尾 |
| () | capture group |
| (a\|b) | match a or b |

### 小結
透過上方連結練習稍微理解過常用符號的用法
可用於表單驗證
有許多現成解答可直接google到
