正則表達(dá)式基礎(chǔ)

1. 創(chuàng)建正則表達(dá)式

  1. 通過字面量的形式

    const reg = /\w/g  //匹配字母
    
  2. 通過構(gòu)造函數(shù)

    const reg = new Reg('\w', 'g')
    

2. 選擇符 |

const reg = /abc|edc/g    // 匹配字符串中的abc 或 edc

3. 原子組和原子表

  1. 原子組 () 正則會(huì)為原子組進(jìn)行編號使用/1、/2等使用

    • 在原子組里使用:?表示該原子組不記錄進(jìn)組編號內(nèi),也就是說使用exec方法是獲取不到該原子組匹配的內(nèi)容
    const reg = /(abcdefg)/  //匹配字符串a(chǎn)bcdefg
    

    原子組里可以使用選擇符 |

    const reg = /(abc|edc )/ 
    
  1. 原子表 []

    • 原子表里使用. + 等特殊字符不需要轉(zhuǎn)義,也意味著原子表里面無法使用.來匹配非空格字符
    const reg = /[abcdefg]/  //匹配abcdefg里任意一字符
    
    let str = "2022-(/)01-(/)01"  //需要匹配的字符串
    let reg = /^\d{4}[-\/]\d{2}[-\/]\d{2}$/g  
    let reg2 = /^\d{4}([-\/])\d{2}\1\d{2}$/g  //這里的\1指與上個(gè)原子組保持一致,相當(dāng)于前面的原子組里的是什么后面的就匹配什么
    
    

4. 轉(zhuǎn)義符 \

  • 大多數(shù)符號都需要配合使用 \ 進(jìn)行轉(zhuǎn)義
const reg = /\d+\.\d+/  // 匹配浮點(diǎn)數(shù)
  • 作為對象的參數(shù)時(shí),與使用兩個(gè)\
const reg = new RegExp("\\d+\\.\\d+")  //匹配浮點(diǎn)數(shù)

5. 字符邊界^ $

^起始邊界   、$結(jié)束邊界
const reg = /^[a-z]{3,6}$/  // 匹配以字母a-z為開頭a-z為結(jié)尾中間為a-z的長度為3到6w

6. 元字符

  • \d 匹配數(shù)字
  • \D 匹配非數(shù)字
  • \w 匹配字母、數(shù)字、下劃線
  • \W 匹配非字母、數(shù)字、下劃線
  • \s 匹配空格、換行等
  • \S 匹配非空格、換行等
  • . 匹配換行符之外的所有字符

7. 模式修飾符

  • g 全局匹配

  • s忽略換行符

  • i 不區(qū)分大小寫

  • m多行匹配

    const reg = /^\s*#\d+\s+.+\s+#$/gm
    

8. 漢字與字符屬性

const reg1 = /\p{L}/gu  //匹配字母
const reg2 = /\p{P}/gu  //匹配標(biāo)點(diǎn)符號
const reg3 = /\p{sc=Han}/gu  //匹配漢字

9. lastIndex屬性

  • 正則匹配后的最新的匹配項(xiàng)

    let reg = /\w/g;
    while ((res = reg.exec((hd)))) {
      console.log(res);
    }
    

10.區(qū)間匹配

  • [a-z]匹配a到z 之間的任意字母,加+為貪婪匹配

  • [A-Z]匹配A到Z之間的任意字母, 加+為貪婪匹配

  • [^abc] 匹配非abc的所有字符

11.匹配所有內(nèi)容

  • /.+/gs 匹配所有內(nèi)容
  • /[\s\S]/ 匹配所有內(nèi)容 [\d\D]與[\w\W]類似

12.重復(fù)匹配

  • ?匹配一個(gè)或0個(gè)
  • *匹配0個(gè)或多個(gè) (貪婪匹配)
  • +匹配一個(gè)或多個(gè)
  • {number, number} 匹配指定區(qū)間個(gè)數(shù)個(gè)

郵箱驗(yàn)證

let reg = /^[\w-]+@([\w-]+\.)+(com|org|cc|cn|net)$/i
// 12345678@qq.com
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容