一、語法
const str = '一二三四五六七八九十' //判斷內容
const reg = /二/ //判斷條件
console.log(reg.test(str)); //檢查
二、test與exec方法的區別
test方法:用于判斷是否符合規則的字符串,返回值是布爾值
exec方法:用于檢索(查找)符合規則的字符串,找到返回數組,否則為null
三、元字符
3.1邊界符
正則表達式重的邊界符(位置符)用來提示字符所處的位置,主要有兩個字符
注意:如果^和$在一起,表示必須是精準匹配
邊界符 | 說明 |
---|---|
^ | 表示匹配行首的文本(以誰開始) |
$ | 表示匹配行尾的文本(以誰結束) |
3.2量詞:用來設定某個模式出現的次數
量詞 | 說明 |
---|---|
* | 重復零次或更多次(>=0) |
+ | 重復一次或更多次(>=1) |
? | 重復零次或一次(1||0) |
{n} | 重復n次 |
{n,} | 重復n次或更多次 |
{n,m} | 重復n到m次 |
注意:逗號左右兩側千萬不要出現空格
3.3字符類
[abc]匹配abc其中的任何單個字符
[a-z]匹配26個小寫英文字母其中的任何單個字符
[^a-z]匹配除了26個小寫英文字母之外的其他單個字符
.(點)匹配除換行符之外的任何單個字符
^[1-9][0-9]{4,}$ //騰訊QQ號從10000開始
3.4預字符(常見模式的簡寫)
預定類 | 說明 |
---|---|
\d | 匹配0-9之間的任意一個數字,相當于[0-9] |
\D | 匹配所有0-9以外的字符,相當于[^0-9] |
\w | 匹配任意的字符、數字和下劃線,相當于[A-Za-z0-9_] |
\W | 除所有字母、數字和下劃線以外的字符,相當于[^A-Za-z0-9_] |
\s | 匹配空格(包括換行符、制表符、空格符等),相當于[\t\r\n\v\f] |
\S | 匹配非空格的字符,相當于[^\t\r\n\v\f] |
日期格式: ^\d{4}-\d{1,2}-\d{1,2}
3.5修飾符
i:單詞ignore的縮寫,正則匹配時字母不區分大小寫
g:單詞global的縮寫,匹配所有滿足正則表達式的結果
replace:替換詞
console.log(/JS/ig.test('js')) //true
const str = 'js是腳本語言,JS是非編程語言'
const re = str.replace(/js/ig,'JavaScript')
console.log(re) //JavaScript是腳本語言,JavaScript是非編程語言