shell中正则表达式的使用

14 篇文章 0 订阅

下面介绍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的正则表达式解析。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值