正規表示式

2021-10-10 05:02:21 字數 1901 閱讀 9195

一、正規表示式概述

正規表示式是字串處理的標準依據,可以使用單個字串搜尋、匹配一系列符合某個語法規則的字串,由普通字元及特殊字元組成。

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正規表示式 編寫正規表示式

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