正則的學(xué)習(xí)

常用簡(jiǎn)單元字符

 \bhi\b   \b是用來匹配單詞的 匹配兩個(gè)b之間的單詞
 \. 匹配換行符以外任意的字符
 \w 匹配任意字母,數(shù)字,下劃線
 \s 匹配任何空白字符串, 等價(jià)[\f\n\r\t\v]
 \d 匹配數(shù)字
 \un 匹配n,其中n是一個(gè)用四個(gè)十六進(jìn)制數(shù)字表示的Unicode字符

限定符

  * >= 0 次
  ? 0次或1次
  + >=1次
  {n} 出現(xiàn)n次
  {n,} >=n次
  {n, m} 重復(fù)n到m次,包括n和m

“非”語義

 \W 大寫W,匹配任意不是字母、數(shù)字和下劃線的字符
 \S 大寫S, 匹配任意不是空白字符的字符
 \D 匹配任意非數(shù)字字符
 \B 匹配不是單詞開始或結(jié)束位置
[^aeiou] 匹配除了aeiou這5個(gè)字符以外的字符

"或"語義

  [aeiou] 方括號(hào),aeiou字符中任選一個(gè),方括號(hào)可以理解為從方括號(hào)里的字符中任選一個(gè)
  | 豎線,豎線前后任一正則滿足即可,語義類似編程語言的邏輯“或”(短路?)

斷言

  ^ 匹配字符串開始的位置
  $ 匹配字符串結(jié)束的位置

(?=exp) 匹配一個(gè)位置,要求這個(gè)位置后面能匹配表達(dá)式exp
(?!exp) 匹配一個(gè)位置,要求這個(gè)位置后面不能匹配表達(dá)式exp

想表達(dá)"或"的意思 ------ 字符簇和分歧

    [abc]表示 a、b、c這三個(gè)字符中的任意一個(gè)  
    [b-f]表示從b到f這么多字符中任選一個(gè)

括號(hào)的三個(gè)作用

1、括號(hào)的第一個(gè)作用 ---- 把分組當(dāng)作一個(gè)整體看待
2、分組匹配到的內(nèi)容也就是這個(gè)分組捕獲到的內(nèi)容,從左往右,以左括號(hào)為標(biāo)志,每個(gè)分組會(huì)自動(dòng)擁有一個(gè)從1開始的編號(hào),分組捕獲到的內(nèi)容可以通過\分組編號(hào)的形式進(jìn)行后向引用。 (ab|cd)123\1 -- \1就是后向引
3、括號(hào)第三個(gè)作用,可以改變優(yōu)先級(jí)

修飾符(匹配選項(xiàng))

  加g修飾符  表示全局匹配
  加i修飾符   表示不區(qū)分大小寫
  加m修飾符  表示多行模式 會(huì)改變^和$的行為

RegExp 上用來匹配提取的方法 ----- exec()

  var matches = pattern.exec(str);                 //接受一個(gè)參數(shù):源字符串  結(jié)果數(shù)組,在沒有匹配項(xiàng)的情況下返回null

RegExp上用來測(cè)試匹配成功與否的方法 ----- test()

  var result = pattern.test(str)                // 接受一個(gè)參數(shù),源字符串 返回: 找到匹配項(xiàng) 返回true 沒找到返回false

String類型上的模式匹配方法

  1、匹配捕獲的match方法

   str.match(pattern)  => pattern.exec(str)

  2、 返回索引search 方法

  str.search(pattern) ==> 返回的是 pos  索引的位置

  3、查找并替換的replace方法

  str.replace(RegExp or String, String or Function);  
  第一個(gè)參數(shù)(查找)
  第二個(gè)參數(shù)(替換內(nèi)容)

  第二個(gè)參數(shù)是一個(gè)函數(shù)

  在只有一個(gè)匹配項(xiàng)的情況下,會(huì)傳遞3個(gè)參數(shù)給這個(gè)函數(shù):模式的匹配項(xiàng)、匹配項(xiàng)在字符串中的位置、原始字符串

  在有多個(gè)捕獲組的情況下,傳遞的參數(shù)是模式匹配項(xiàng)、第一個(gè)捕獲組、第二個(gè)、第三個(gè)...最后兩個(gè)參數(shù)    是模式的匹配項(xiàng)在字符串位置、原始字符串

 這個(gè)函數(shù)要返回一個(gè)字符串,表示要替換掉的匹配項(xiàng)

轉(zhuǎn)義

  前面加一個(gè)\ 表示轉(zhuǎn)義
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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