正規表示式入門學習

我叫奈奈發表於2020-12-14

正規表示式入門學習

正規表示式線上測試網址:https://regex101.com/

限定符

  1. 表示?之前的字元可以出現一次或零次
    在這裡插入圖片描述

  2. *

    表示*前面的字元可以出現零次或多次
    在這裡插入圖片描述

  3. +

    表示+前面的字元出現一次以上
    在這裡插入圖片描述

  4. {}

    限定出現的次數或則出現次數的範圍
    在這裡插入圖片描述
    在這裡插入圖片描述

或運算子

  1. |

    a (dog|cat)

    -------a與括號之間有個空格、括號是必須的,否則匹配到的是a dog、cat
    在這裡插入圖片描述
    在這裡插入圖片描述

字元類

  1. []

    [a,b,c]+表示匹配包含[]中的字元的內容
    在這裡插入圖片描述

    指定範圍:

    ​ [a-z]+表示匹配所有小寫字元
    在這裡插入圖片描述

    ​ [a-zA-Z]表示匹配所有字母
    在這裡插入圖片描述

    ​ [a-zA-Z0-9]表示匹配所有字母數字

    在這裡插入圖片描述

  2. ^取反

    ​ 例如:【^0-9】表示匹配所有非數字內容(包括換行符)
    在這裡插入圖片描述

元字元

  1. \d \D

    匹配數字字元,以單個數字字元分開,和[0-9]+是有區別的

    \D是匹配所有非數字字元
    在這裡插入圖片描述

  2. \w \W

    匹配所有單詞字元(英文、數字、下劃線)

    \W匹配非單詞字元
    在這裡插入圖片描述

  3. \s \S

    匹配空白字元(tab、換行字元)

    \S匹配非空字元
    在這裡插入圖片描述

特殊字元

  1. .

    表示所有字元

  2. ^a

    表示以a開頭的內容
    在這裡插入圖片描述

  3. a$

    表示以a結尾的內容
    在這裡插入圖片描述

貪婪匹配和懶惰匹配

例如:
//匹配標籤
<sapn><b>this is a sample text</b></span>
//使用<.+>會匹配全部內容而不能匹配到標籤,這是因為貪婪匹配導致的,會把>當作.的一部分
//通過增加一個問好:<.+?>切換到懶惰匹配完成匹配

在這裡插入圖片描述
在這裡插入圖片描述

相關文章