正規表示式

2021-06-21 10:27:45 字數 1283 閱讀 4683

當從乙個檔案或命令輸出中抽取或過濾文字時,可以使用正規表示式。

以下是在基本命令中使用正規表示式的一些定義及用法

基本元字符集及其含義

匹配行首

匹配行尾

匹配任意單個字元

字元*   匹配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正規表示式 編寫正規表示式

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