正規表示式分為標準正規表示式和擴充套件正規表示式
標準正規表示式:僅支援最基本的元字符集
1:行首定位符 ^
表示行首的字元是^後面的那個字元
2:行尾定位符 表示
行尾的字
符是前面的那個字元
3:單個字元匹配 .
圓點.用來匹配任意的單個字元,包括空格,但是不包括換行符」\n」
4:限定符*
限定符*本身不表示任何字元,用來指定其前面的乙個字元必須重複出現0次或者多次。
5:字符集匹配
用來指定乙個字符集集合的,只要乙個字串中出現了內的乙個字元就匹配,內可以使用-表示連續的字元
[abcd1234] [a-d1-4]表示的都一樣
6:字符集不匹配[^]
不匹配中的任何內容,用法與相同
注意 裡面匹配的都是單個字元而不是乙個字串
擴充套件正規表示式
1:限定符+
+前面的那個字元必須至少出現一次
2:限定符?
指定前面的那個字元最多出現1次(0 or 1)
3:豎線| 和圓括號()
豎線表示多個正規表示式之間是或的關係,圓括號表示一組可選值的集合,豎線和圓括號常常在一起使用。
注意:要在|和( )前面加\轉義
4:自定義次數匹配x or x or x (限定符{}僅僅作用於字元或者集合(「()」表示的是乙個集合))
最少出現m次最多出現n次和 只出現m次,最少出現m次
注意:要在前加\轉義
posix字元類
[:alnum:] 匹配任意乙個字母或者數字
[:alpha:] 任意乙個字母
[:digit:] 任意乙個數字
[:lower:] 任意乙個小寫字母
[:upper:] 任意乙個大寫字母
[:space:] 任意乙個空白字元,包括空格,製表符,換行符,以及分頁符
[:blank:] 空格和製表符
[:punct:] 匹配任意乙個標點符號
注意:字元類也需要放在括號中如[[:alnum:]]
運算子的優先順序
\ 轉義符
方括號表示式
() 分組
*,+ ? 限定符
普通字元
定位符
或運算
正規表示式 正規表示式 總結
非負整數 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正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...