正規表示式

2021-09-06 08:01:00 字數 1442 閱讀 2576

正規表示式就是對字串的操作。

正則是語言無關的,很多的語言當中都能用到正規表示式。

那麼,到底正規表示式是個啥呢?實際上就是一些萬用字元。

正則給我們一些元字元,這些元字元可以理解成一些已經定義好的萬用字元,使用它們在字串中找到我們想要的匹配。

那麼正在等用處很多,像採集器、敏感詞過濾、urlrewite、validator中都會用到。

下面我們介紹一些元字元:

第一種是:   .:匹配除\n之外的任何單個字元。

第二種是:    [ ] :匹配括號中的任何乙個字元。 如果要想匹配二十六個英文本母中的任意乙個怎麼寫呢? a[a-z]b  如果也想匹配大寫的a—z的話,需要這麼寫 a[a-za-z]b

第三種是:    | :將兩個匹配條件進行邏輯「或」運算。 如a[a|b]b   z|food 要麼是z,要麼是food   (z|f)ood 加小括號改變優先順序

第四種是:    ( ) :將 () 之間括起來的表示式定義為「組」(group),並且將匹配這個表示式的字元儲存到乙個臨時區域,這個元字元在字串提取的時候非常有用。把一些字元表示為乙個整體。改變優先順序、定義提取組兩個作用。

元字元2(限定符):

第一種是:    *:匹配0至多個在它之前的子表示式,和萬用字元*沒關係。 如 zoo* ,*表示可以出現0次,也可以出現多次。(可有可無,可多可少)

第二種是:    + :匹配前面的子表示式一次或多次  如zoo+  ,+表示可以出現一次,或者是多次。(至少得出現一次。)  注意:*  +只表示o的出現次數,要是想表示前面的整個表示式,得用小括號括起來。

第三種是:    ? :匹配前面的子表示式零次或一次。  如zoo? ,要麼0次,要麼1次。

第四種是:    :匹配確定的 n 次。

第五種是:    :最少匹配 n 次且最多匹配 m 次。

元字元3

第一種是:    ^(shift+6) :匹配一行的開始。如^***.   表示字串必須以三個先開頭,後面跟任意的單個字元。

它還有乙個意思就是取反的意思,如 a[^a-za-z0-9]b  表示中間去大小寫字元和數字都不行。

第二種是:    $ :匹配行結束符。    如***.$  表示結尾必須以***加任意字元結束。

接下來我們再看一些個元字元(一些簡寫的方式):

第一種是:    \d:代表乙個數字,等同於[0-9]   如a[0-9]b   a\db

第二種是:    \d:代表非數字,等同於[^0-9]

第三種是:    \s:代表換行符、tab製表符等空白字元 ,(空格、回車、製表符)

第四種是:    \s:代表非空白字元(a0%$@@)

第五種是:    \w:匹配字母或數字或下劃線或漢字,即能組成單詞的字元,除%&#@!$等字元。[a-za-z0-9_漢字]

第六種是:    \w:非\w ,等同於[^\w] %

需要注意的地方:當放在c#中時,需要在它們之前加個\

正規表示式 正規表示式 總結

非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...

正規表示式 表示式

網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...

Linux正規表示式 編寫正規表示式

為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...