在shell编程中使用if条件匹配索引和索引的正则表达式

时间:2016-09-20 16:28:49

标签: regex shell

我希望在shell编程的条件

中匹配我的2个字符串索引和index1

我尝试按照

这样做

if [[ $1 == [iI][nN][dD][eE][xX][1]? ]]; then
         echo "matched"

但它不起作用,这里基本上我想在我的正则表达式中说1应该发生0或1次。

提前致谢!

1 个答案:

答案 0 :(得分:1)

您需要使用=~运算符来匹配正则表达式,并确保使用锚点^$来避免匹配不需要的文本:

[[ 'index1' =~ ^[iI][nN][dD][eE][xX]1?$ ]] && echo "ok" || echo "nope"
ok

[[ 'index' =~ ^[iI][nN][dD][eE][xX]1?$ ]] && echo "ok" || echo "nope"
ok