正規表示式 修改設立了指令碼的一種方法

2021-10-09 20:21:00 字數 1511 閱讀 3816

正規表示式(regular expression、regex或regexp,縮寫為re),也譯為正規表示法、常規表示法,是一種字元模式,用於在查詢過程中匹配指定的字元。

許多程式語言都支援利用正規表示式進行字串操作。例如,在perl中就內建了乙個功能強大的正規表示式引擎。

正規表示式這個概念最初是由unix中的工具軟體(例如sed和grep)普及開的。

支援正規表示式的程式如:locate |find| vim| grep| sed |awk

1.匹配郵箱、匹配身份證號碼、手機號、銀行卡號等

2.匹配某些特定字串,做特定處理等等

元字元:指那些在正規表示式中具有特殊意義的專用字元,如:點(.) 星(*) 問號(?)等

2)sed支援正規表示式

# sed -n 's#\(10.1.1\).1#\1.254#p' 1.txt

10.1.1.254

說明:

找出含有10.1.1的行,同時保留10.1.1並標記為標籤1,之後可以使用\1來引用它。

最多可以定義9個標籤,從左邊開始編號,最左邊的是第乙個。

需求:將helloworld yourself 換成hellolilei myself

# vim 1.txt

:%s#\(hello\)world your\(self\)#\1lilei my\2#g

# sed -n 's/\(hello\)world your\(self\)/\1lilei my\2/p' 1.txt 

hellolilei myself

# sed -n 's/helloworld yourself/hellolilei myself/p' 1.txt 

hellolilei myself

# sed -n 's/\(hello\)world your\(self\)/\1lilei my\2/p' 1.txt 

hellolilei myself

把握乙個原則,讓你輕鬆搞定可惡的正則符號:

1.我要找什麼?

找數字 [0-9]

找字母 [a-za-z]

找標點符號 [[:punct:]]

2.我要如何找?看心情找

以什麼為首 ^key

以什麼結尾 key$

包含什麼或不包含什麼

shell指令碼 正規表示式

一 正規表示式 正規表示式是用來描述字串排列和匹配模式的一種語法規則,是字串的模式分割 匹配 查詢和替換操作。正規表示式是包含匹配,操作字串,如grep,awd,sed,而萬用字元是完全匹配,如ls,find,cp 正則的與萬用字元的不同,如正規表示式aa 第二個a不起作用,意思是以a開頭的,而萬用...

shell 指令碼 正規表示式

字元類 character class 如上例的x和 y,它們在模式中表示乙個字元 但是取值範圍是 一類字 符中的任意乙個。數量限定符 quantifier 郵件位址的每一部分可以有乙個或多個x字元 ip位址的每一部 分 可以有1 3個y 字元位置限定符 anchor 部分,用普通字元 和 隔 開 ...

shell指令碼 正規表示式

正規表示式分為基礎正則和擴充套件正則,都是為了匹配符合預期要求的字串 只需要記住,對檔案內容或是展示文字的操作都是正則,而對目錄或檔名的操作則都是萬用字元 例如find指令 擴充套件正則包含基礎正則,而且多出了 四個指令 注意這裡的 要和管道符分開 擴充套件正則不需要像基礎正則一樣對某些符號進行轉義...