正規表示式分類
基本的正則表倒是,又叫basic regex
擴充套件的正規表示式,又叫extended regex
perl
的正規表示式,又叫perl regex
基本組成部分:
\ 轉義符,將特殊字元進行轉義,忽略其特殊意義。a\.b匹配a.b,但不能匹配ajb,被轉義為特殊意義
\n表示換行,\r表示回車,\t表示水平的製表符,\v表示垂直的製表符,\b表示後退符,\a表示警告,0xx翻譯成ascii碼為八進位制0xx鎖表示的字元
^匹配行首,awk中,^則是匹配字元創的開始,^匹配以tux開頭的行
$匹配行尾,awk中,則是匹配字串的結尾
.匹配除換行符\n之外的任意單個字元,awk則中可以。ab.匹配abc或bad,不可匹配adcd或abde,只能匹配單字元
匹配包含在[^字元之外的任意乙個字元],123[^45]不可以匹配1234或1235,1236.1237都可以
[-]匹配中指定範圍內的任意乙個字元,要寫成遞增,[0-9]可以匹配1,2或3等其中任意乙個數字
?匹配之前的項1次或者0次,colou?r可以匹配colour或者colour或者colour,不能匹配colouur
+匹配之前的項1次或者0次,sa-6+匹配sa-6,sa-666,不能匹配sa-
*匹配之前的想0次或多次,co*l,匹配cl,col,cool,cool等
()匹配表示式,建立乙個用於匹配的子串。
配置之前的項n次,n是可以為0的正整數。
之前的項至少需要匹配n次,[0-9]匹配任意乙個兩位數或更多位數
[n,m]指定之前的想至少匹配n次,最多匹配m次,n<=m,[0-9]匹配從兩位數到五位數之間的任意乙個數字
|交替匹配|兩邊的任意一項ab(c|d)匹配abc或adb
posix字元類
posix字元類是乙個形如[:...:]的特殊元序列(meta sequence),他可以用於匹配特定的字元範圍
[:alnum:]匹配人乙個乙個字母或數字字元,[[:alnum:]]+
[:alpha:]匹配任意乙個字母字元(包括大小寫),[[:alpha:]]
[:blank:]空格與製表符(橫向和縱向),[[:blank:]]*
[:digit:]匹配熱乙個數字字元,[[:digit:]]?
[:lower:]匹配小寫字母,[[:lower:]]
[:upper:]匹配大寫字母,([[:upper:]]+)?
[:punct:]匹配標點符號,[[:punct:]]
[:space:]匹配乙個包括換行符,回車等在內的所有空白符,[[:space:]]+
[:graph:]匹配任何乙個可以看得見的且可以列印的字元,[[:graph:]]
[:xdigit:]任何乙個十六進製制數(即:0-9,a-f,a-f)
[:cntrl:]任何乙個控制字元(ascii字符集中的前32個字元),[[:cntrl:]]
[:print:]任何乙個可以列印的字元,[[:print:]]
正規表示式 正規表示式 總結
非負整數 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正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...