正規表示式

2021-08-01 22:58:51 字數 1709 閱讀 5050

正規表示式作用:能夠與多種字元匹配的表示式

正規表示式的優勢和用途:

1、一種強大而領活的文字處理工具

2、大部分程式語言、資料庫、文字編輯器、開發環境都支援正規表示式。

標準字元集合 (區分大小寫,大寫表示相反的意思)

\d   任意乙個數字,0~9中的任意乙個值

\w  任意乙個字母或數字或下劃線,也就是a~z,a~z,0~9,_中任意乙個

\s   包括空格、製表符、換行符等空白字元的其中任意乙個

.     小數點可以匹配任意乙個字元(除了換行符)如果要匹配括號"\n"在內的所有字元,一般用[\s\s]

自定義字元集合: 中括號匹配方式,能夠匹配中括號中任意乙個字元

[abc@]   匹配「a」 或 「b」 或 「c」 或 「@」

[^abc]     匹配「a」,「b」,「c」 之外的任意乙個字元

[f-k]         匹配「f」~「k」之間的任意乙個字元

[^a-z6-9]   匹配「a」~「z」,「6」~「9」之外的任意乙個字元,除了^,-之外

正規表示式的特殊符號,被包含到中括號中,則失去特殊意義

量詞:修飾匹配次數的特殊符號

表示式重複n次

表示式至少重複m次,最多重複n次

表示式至少重複m次,最多不限制

?             表示式0次或者1次,相當於

+             表示式至少出現1次,相當於

*              表示式不出現或者出現任意次數,相當於

匹配次數中的貪婪模式(匹配字元越多越好,預設是貪婪模式)

匹配次數中的非貪婪模式(匹配字元越少越好,修飾匹配次數的特殊符號後再加上乙個「?」)

字元邊界 (標記匹配的不是字元而是位置,符合某種條件的位置)

^              與字串開始的地方匹配

$              與字串結束的地方匹配

\b             匹配乙個單詞的邊界

------\b匹配的是:前面的字元和後面的字元不全是\w

正規表示式的匹配模式

ignorecase忽略大小寫模式

1、匹配時忽略大小寫

2、預設情況下,正規表示式是區分大小寫的

singleline 單行模式

1、整個文字看作是乙個字串,只有乙個開頭,乙個結尾

2、使用小數點「.」  可以匹配包含換行符「\n」在內的任意字元

multiline多行模式

1、每行都是乙個字串,都有開頭和結尾

2、在指定了multiline後,如果需要只匹配字串的開始和結束位置,可以使用\a和\z

選擇符和分組

|       左右兩邊表示式之間「或」的關係,匹配左邊或者右邊

1、在被修飾匹配次數的時候,括號中的表示式可以作為整體被修飾

()      2、取匹配結果的時候,括號中的表示式匹配到的內容可以被單獨得到

3、每一堆括號會分配乙個編號,使用()得捕獲根據做括號得順序從1開始自動編號。捕獲元素編號為零的第乙個捕獲是由整個表示式模式匹配的文字()  

(?:expression)   一些表示式中,不得不使用(),但又不需要儲存()中子表示式匹配的內容,這時可以使用非捕獲組來低消使用()帶來的***

反向引用(\nnn)

每一對()會分配乙個編號,使用()的捕獲根據做括號的順序從一開始自動編號。

通過反向引用,可以對分組已捕獲的字串進行引用

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

非負整數 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正規表示式 編寫正規表示式

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