一、正規表示式概述
正規表示式是字串處理的標準依據,可以使用單個字串搜尋、匹配一系列符合某個語法規則的字串,由普通字元及特殊字元組成。
1、正規表示式概述正規表示式定義
(1)正規表示式,又稱正規表示式、常規表示式
(2)使用字串來描述、匹配一系列符合某個規則的字串
(3)正規表示式組成
◆普通字元
大小寫字母、數字、標點符號及一些其他符號
◆元字元
在正規表示式中具有特殊意義的專用字元
2、linux中文字處理工具
(1)grep
(2)egrep
(3)sed
語法:sed [選項] 『操作』 引數
【選項】
-e:指定要執行的命令,只有乙個編輯命令時可省略
-n:只輸出處理後的行,讀入時不顯示
-i:直接編輯檔案,而不輸出結果
-f :用指定的指令碼檔案來處理輸入的文字檔案
【操作】
a:增加,在當前行下面增加一行指定內容。
c:替換,將選定行替換為指定內容。
d:刪除,刪除選定的行。
i:插入,在選定行上面插入一行指定內容。
p:列印,如果同時指定行,表示列印指定行;如果不指定行,則表示列印所有內容;如果有非打
印字元,則以ascii碼輸出。其通常與「-n"」選項一起使用。
s:替換,替換指定字元。
y:字元轉換。
(4)awk
3、常見普通元字元
\:轉義字元:\!、\n等
^:匹配字串開始的位置
例: ^a
$:匹配字串結束的位置
例: word\$
.:匹配除\n之外的任意的乙個字元
例: go.d、g..d
*:匹配前面子表示式0次或者多次
例: goo*d、go.*d
[list]:匹配list列表中的乙個字元
例: go[ola]d,[abc]、[a-z]、[a-zo-9]
[^list]:匹配任意不在list列表中的乙個字元
例:[^a-z]、[^o-9]、[^a-zo-9]
\:匹配前面的子表示式n到m次,有\、\、\三種格式
例:go\d、go\d、go\d
擴充套件正規表示式
常見元字元
+
作用:重複乙個或者乙個以上的前乙個字元
ex:執行"egrep -n 'wo+d' test.txt"命令,即可查詢中間至少有兩個o的字串
?作用:零個或者乙個的前乙個字元
ex:執行"egrep -n 'bes?t' test.txt"命令,即可查詢"bet"
"best」這兩個字串
|作用:使用或者(or)的方式找出多個字元
ex:執行"
egrep -n 'of|is|on' test.txt命令即可查詢"of"或者"it"或者"on"字串()
作用:查詢"組」字串
ex:「egrep -n 't(a|e)st test.txt"。"tast"與「test'因為這兩個單詞的t"與"st是重複的,所以將"a"與「e"列於「()"符號當中,並以"|"分隔,即可查詢"tast"或者""test"字串
()+作用:辨別多個重複的組
ex:「egrep -n 'a(xyz)+c' test.txt」。該命令是查詢開頭的"a"結尾是℃",中間有乙個以上的"xyz"字串的意思
正規表示式 正規表示式 總結
非負整數 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正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...