定義:當從乙個檔案命令輸出中抽取或過濾文字時,可以使用正規表示式(re),正規表示式是一些特殊或不很特殊的字串模式的集合。例如,在乙個文字中抽取乙個詞,它的頭兩個字元是大寫,後面緊跟四個數字,不使用正規表示式,在shell中將不能實現。
基本元字符集及其含義
^ 只匹配行首
$ 只匹配行尾
* 乙個單字元後緊跟*,匹配0個或多個此單字元
匹配內字元,可以是單字或字串行,使用-表示範圍,比如[1-255]
/ 轉義字元,用於遮蔽乙個元字元的特殊含義
. 匹配任意單字元
pattern/ 用來匹配前面pattern出現次數,n為次數
pattern/m 含義同上,但次數最少為n
pattern/ 含義同上,但pattern出現的次數在n,m之間
.匹配任意單字元: 「.」允許匹配ascii集中任意字元,或為字母,或為數字
例 ls -l ...x..x..x
^在行首以^匹配字串或字串行: 例 ls -l |grep ^d 列出目錄
$在行尾以$匹配字串或字元: ^$匹配空行 ^.$只包含乙個字元的行
使用/匹配模式結果出現的次數:
a/b 匹配結果為aab
a/b 匹配a至少4次,比如aaaab,aaaaab,aaaaaaaaaab等
a/b 匹配結果為a出現2-4次,aab,aaab,aaaab
[0-9]/xx[0-9]/ 前4個字元是數字,接下來是xx,最後4個也是數字
正規表示式 正規表示式 總結
非負整數 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正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...