正則表達式基礎

正則表達式:用來匹配一些有特定規則的字符串;正則表達式

語法:匹配原則寫在雙斜槓(/匹配規則/)中。json

1.參數: i:忽略大小寫(默認區分大小寫)   g:全局匹配   m:多行匹配;數組

2.普通匹配符:如:/a/ 、 /A/ 、 /Q/函數

3.可以匹配多個字符中的一個字符的匹配符,只能匹配一個:
  \d:0-9  \w:數字、字母、下劃線  .:匹配除了了換行符意外的任意字符中的一個編碼

4.自定義匹配:
  []:匹配裏面定義的字符的任意一個,如:
  a.[1,8,9]:能夠匹配一、八、9和「,」;
  b.[189]:能夠匹配一、八、9;對象

  ^:取反,如:
  [^678]:匹配出了678以外的任意字符,也能夠匹配特殊字符和字母(&、=、k)圖片

5.修飾匹配次數
  +:1~max   ?:0~1   *:0~max字符串

 {n}:修飾前面的一個字符出現n次;
 {m,n}:修飾前面的一個字符出現m-n次;
 {m,}:修飾前面的一個字符最少出現m次,最大不限;
 {,n}:修飾前面的一個字符最大出現n次,最小能夠不出現;
  
6.完整匹配:
 ^:開始位置(^在[]中表示取反)   $:持續匹配到結束
  特殊符號的匹配:在匹配的時候須要加上轉移符「\」,如:. ^ $ [ ] \test

7.條件分支| 與 () 
  |: 條件分支        ():裏面的內容會分組單獨匹配表單

8.數組的匹配:根據規律寫出正則表達式(可分紅部分來寫)(json數據的組成)
  數值的正則(包含科學科學計數法):^(-?)(0|[1-9]\d*)(\.\d+)?([eE][+-]?\d+)?$

9.中文的處理:雙字節存儲,根據ASCII編碼對應表倆輸入漢字,[]來設置中文範圍
  js中的escape():把字符串轉化爲ASCIIi編碼;
  
10.貪婪與懶惰:
   貪婪:儘量多的去匹配;正則默認的是貪婪模式;
   懶惰:儘量少的去匹配;在表示匹配數量(? + * {})的後面加上「?」表示懶惰匹配模式。

 

 

15.在js中:

   match()函數:若是是全局匹配(g),那麼是不支持分組的,通常g與徹底匹配(^ $)是互斥的;

   exec()函數:支持全局匹配+分組功能(真正的正則表達式對象);如:

               var regExp = new RegExp(/正則匹配/);

               var res = regExp.exec(被匹配內容);

   test()函數:通常用於表單驗證,匹配成功返回true,匹配失敗返回false;

 

經常使用的匹配:

1.匹配圖片(使用了懶惰模式:一半匹配多個對象的時候,須要使用懶惰模式):

                    <img.*?src=['"]?.*?["']?.*?[\/]?>/gi

相關文章
相關標籤/搜索