在運維場景下,我們經常需要在伺服器上用正規表示式來匹配ip位址。
shell和其它程式語言一樣,也可以使用正則分組捕獲,不過不能使用 $1或\1這樣的形式來捕獲分組,可以通過陣列$來獲得,如$,$
下面以ip="121.0.2.2"為例,shell程式設計客棧指令碼**如下(當然,你要做成更通用互動式的指令碼,可以程式設計客棧通過expe來實現):
複製** **如下:
#!/bin/bash
ip="121.0.2.2"
if [[ $ip =~ ^([0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.([0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.([0-9]|1[程式設計客棧0-9][0-9]|2[0-4][0-9]|25[0-5])\.([0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$ ]]
then
echo "match"
echo $
echo $
echo $
echo $
else
echo "not match"
fi
本文位址:
shell指令碼 正規表示式
一 正規表示式 正規表示式是用來描述字串排列和匹配模式的一種語法規則,是字串的模式分割 匹配 查詢和替換操作。正規表示式是包含匹配,操作字串,如grep,awd,sed,而萬用字元是完全匹配,如ls,find,cp 正則的與萬用字元的不同,如正規表示式aa 第二個a不起作用,意思是以a開頭的,而萬用...
shell 指令碼 正規表示式
字元類 character class 如上例的x和 y,它們在模式中表示乙個字元 但是取值範圍是 一類字 符中的任意乙個。數量限定符 quantifier 郵件位址的每一部分可以有乙個或多個x字元 ip位址的每一部 分 可以有1 3個y 字元位置限定符 anchor 部分,用普通字元 和 隔 開 ...
shell指令碼 正規表示式
正規表示式分為基礎正則和擴充套件正則,都是為了匹配符合預期要求的字串 只需要記住,對檔案內容或是展示文字的操作都是正則,而對目錄或檔名的操作則都是萬用字元 例如find指令 擴充套件正則包含基礎正則,而且多出了 四個指令 注意這裡的 要和管道符分開 擴充套件正則不需要像基礎正則一樣對某些符號進行轉義...