1. 程式人生 > >shell中正則表示式的使用

shell中正則表示式的使用

下面介紹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的正則表示式解析。