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