正則表達式基礎,高頻知識點
- 2019 年 11 月 6 日
- 筆記
1.常用元字符
- d:表示任意數字
- w:表示A至Z,a至z,0至9和下劃線這些常用的字符
- s:表示一切不可見字符(不可見字符指在編輯器里顯示不出來的,例如空格,回車,換行,tab製表符)
- 。:表示除回車 r和換行 n之外的一切字符。
- b:邊界(常用字符和不常用字符邏輯上的分割)

2.表示位置的元字符
- ^:修飾出現在它後邊的字符。表示出現在後邊的字符必須是字符串的第一位。
- $:修飾出現在它前邊的字符,表示出現在它前邊必須是字符串的最後一位。
3.表示數量的元字符
- {n}:n是一個非負整數,匹配確定的n次
- {n,m}:n和m可以合併非負整數,其中n <= m,至少匹配n次最多匹配m次。
- {n,}:n是一個非負整數,表示至少匹配n次。
- *表示匹配0次或多次,等價於{0,}
- +表示匹配一次或多次,等價於{1,}
- ?表示出現0次或1次,等價於{0,1}
4.常用修飾符
- 整體匹配修飾符g
- 不區分大小寫修飾符i
- 行首行尾修飾符m
5.正則中兩種表示或運算的方式| []
- 區別:把| []表示任意字符中選其一。ab| bc表示匹配ab或bc。[abcd]表示從abcd中佔據一個。
6.用正則表達所有的字符
- / [ d D] /; 大寫的D表示非數字字符。即所有字符。/[sS]/;所有不可見字符和所有可見字符(不可見字符是在編輯器中不顯示的字符,例如空格,回車,tab等)。//[ w W] /;所有常用字符和非常用字符
7.反字符集合[^ abc]:
- ^在正則表達式開始部分的時候表示開頭的意思,例如/ ^ c /表示開頭是c;但是在字符集合中,它表示的是類似「非」的意思,例如[^ abc]就表示不能是[^ 0-9]表示非數字。[^ az]表示非小寫字符,以此類推
8.常用正則
- 有效數字的正則,不可以以0開頭,可以是小數,可以有+或—號 /^[+-]?(d|([1-9]d+))(.d+)?$/
- 漢字 /u4e00-u9fa5/
- 匹配18-65 /^((1[8-9])|([2-5]d)|(6[0-5]))$/
- 同時包含數字和字母的用戶名長度在8-15之間 /^(?!d+$)(?![a-zA-Z]+$)[a-zA-Z0-9]{8,15}$/
- 去掉首位空間 /^ +| +$/g
- 去掉中間多餘空間 / +/g
作者 | 大神神碼 | 螞蟻開源社區大神,資深前端工程師