正则表达式的比较

时间:2012-10-25 18:17:06

标签: regex shell unix

我想搜索一个字符串是否在中间包含'CI',无论它的长度是多少。字母可以出现在任何地方,长度可以变化。我也希望将它用作条件开关用于shell脚本。所以任何可以在IF中使用的命令来确定字符串是否包含这个。感谢您的帮助,因为这可以让您深入了解如何使用它。

2 个答案:

答案 0 :(得分:1)

不是正则表达式,但适用于POSIX sh(更便携)

case "$FOO" in
*CI*)
    # do something
    ;;
esac

regex sh

if expr "$FOO" : '.*CI' >/dev/null; then 
    # do something
fi

if echo "$FOO" | grep 'CI' >/dev/null; then
    # do something
fi

没有带有许多shell的正则表达式(bash ksh)

if [[ $FOO = *CI* ]]; then
    # do something
fi

正则表达式bash具体

if [[ $FOO =~ CI ]]; then
    # do something
fi

答案 1 :(得分:0)

您可以使用

echo $FOO | grep CI

我想。