當從乙個檔案或命令輸出中抽取或過濾文字時,可以使用正規表示式。
以下是在基本命令中使用正規表示式的一些定義及用法
基本元字符集及其含義
匹配行首
匹配行尾
匹配任意單個字元
字元* 匹配0或多個此字元
遮蔽乙個元字元的特殊含義
匹配中括號中出現的字元,可以是單字元或字串行,可以使用–表範圍
pattern/
匹配其那面patern出現的次數,n為次數
pattern/
至少出現n次
pattern/
n<=次數 <=m
使用例子:
1. 匹配任一單個字元
句點允許匹配ascii集中任一字元,或為字母或為數字
b.g -> big bag beg 等
2. 在行首以^匹配字串或序列
只允許在一行的開始匹配字元或單詞
$ls –l | grep ^d 匹配資料夾
^001 開頭為001的
3. 在行尾以$匹配字串或序列
ld$ 以ld結尾
^$ 匹配所有空行
^.$只包含乙個字元的
4. 使用*匹配字串中單字元或其重複序列
compu*t 匹配u重複0或多次
5. 使用/遮蔽一些特殊字元
特殊 $ . 『 「 * [ ] ^ | ( ) / + ?
/.匹配句點
/*/.pass 匹配*.pass
6. 使用匹配乙個範圍或集合
匹配特定字串,字串集 可用逗號分隔
數字:[0123456789] [0-9]
小寫字母: [a-z]
所有字母:[a-za-z]
字母和數字: [a-za-z0-9]
所有單詞:[a-za-z]*
[cc]omputer 匹配computer或computer
注意:在中,^代表否定
非字母:[^a-za-z]
非數字:[^0-9]
7. 使用/匹配模式結果出現的次數
a/b 匹配aab
a/b 匹配a出現至少4次b
a/b 匹配a出現在2至4次之間
【後序的待補充,目前看的書講的比較廣,深入的需要再看相關的】
書寫正規表示式:
a. 明確要求,即預期結果,寫出例子
b. 根據要求寫正則
c. 測試,逐步修改
正規表示式 正規表示式 總結
非負整數 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正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...