如何检查字符串是否包含shell中正则表达式中的字符?
发布时间:2020-12-15 21:09:45 所属栏目:安全 来源:网络整理
导读:如何检查变量是否包含0-9a-z以外的字符(正则表达式)和 – 纯粹的bash? 我需要一个有条件的检查.如果字符串包含上述接受字符以外的字符,则只需退出1. 解决方法 一种方法是使用grep命令,如下所示: grep -qv "[^0-9a-z-]" $STRING 然后你要求grep返回的值如下
如何检查变量是否包含0-9a-z以外的字符(正则表达式)和 – 纯粹的bash?
我需要一个有条件的检查.如果字符串包含上述接受字符以外的字符,则只需退出1. 解决方法
一种方法是使用grep命令,如下所示:
grep -qv "[^0-9a-z-]" <<< $STRING 然后你要求grep返回的值如下: if [ ! $? -eq 0 ]; then echo "Wrong string" exit 1 fi 正如@mpapis所指出的那样,你可以将上面的表达式简化为: grep -qv "[^0-9a-z-]" <<< $STRING || exit 1 你也可以使用bash =?运算符,如下所示: if [[ ! "$STRING" =~ [^0-9a-z-] ]] ; then echo "Valid"; else echo "Not valid"; fi (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读