shell中正則表示式的使用
阿新 • • 發佈:2019-01-11
下面介紹shell中正則表示式的兩種使用方法。
使用方法一:
#賦值給變數var
read var
#定義regex正則表示式
regex="[0-9]"
if [[ $var =~ $regex]];then
#match
#do something
fi
例如,對輸入的內容進行匹配,要求必須是0-9之間的數字:
#讀取輸入
read input
regex="[0-9]"
if [[ $input =~ $regex ]];then
echo "match"
else
echo "dismatch"
fi
對於方法一,如果正則表示式中含有類似“\d”等轉義字元時,是無法匹配。這樣就要用到第二種方法了。
使用方法二:
read var
regex="[a-z]"
if [ `echo $var | grep -P $regex` ];then
echo "match"
else
echo "dismatch"
fi
注意:
-P引數:
使用Perl的正則表示式解析。