加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

regex – 检查字符串以查看它是否包含UNIX中的数字字符

发布时间:2020-12-16 01:12:15 所属栏目:安全 来源:网络整理
导读:我是UNIX的新手,今天只在工作中开始工作,但对 Java有经验,并且有以下代码: #/bin/bashecho "Please enter a word:"read wordgrep -i $word $1 | cut -d',' -f1,2 | tr "," "-" output 这工作正常,但我现在需要做的是检查何时读取单词,它只包含字母,如果它有
我是UNIX的新手,今天只在工作中开始工作,但对 Java有经验,并且有以下代码:
#/bin/bash
echo "Please enter a word:"
read word
grep -i $word $1 | cut -d',' -f1,2 | tr "," "-"> output

这工作正常,但我现在需要做的是检查何时读取单词,它只包含字母,如果它有打印数字字符“无效输入!”消息并要求他们再次输入.我假设使用if语句的正则表达式将是这样做的简单方法,但我无法理解如何在UNIX中使用它们,因为我已经习惯了它们的Java应用程序.任何有关这方面的帮助将非常感激,因为我在搜索时找不到帮助,因为在linux中使用正则表达式的所有解决方案我发现只有处理它是全是数字还是不是.

还有另一种方法.如果找到匹配项,Grep将退出0,因此您可以测试退出代码:
echo "${word}" | grep -q '[0-9]'
if [ $? = 0 ]; then
    echo 'Invalid input'
fi

这是/ bin / sh兼容的.

结合Daenyth和John的建议,这就变成了

if echo "${word}" | grep '[0-9]' >/dev/null; then
    echo 'Invalid input'
fi

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读