【问题标题】:Comparison of Regex [closed]正则表达式的比较[关闭]
【发布时间】:2012-10-25 18:17:05
【问题描述】:

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

【问题讨论】:

    标签: regex shell unix


    【解决方案1】:

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

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

    正则表达式

    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
    

    【讨论】:

      【解决方案2】:

      你可以使用

      echo $FOO | grep CI
      

      我猜。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-09-27
        • 1970-01-01
        • 2021-08-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多