我想检查一个字符串是否至少有一个 字母字符? 正则表达式可能是这样的:
"^.*[a-zA-Z].*$"
但是我想判断一个字符串是否至少有一个 字母字符? 所以我想使用,比如
if [ it contains at least one alphabetic character];then
...
else
...
fi
所以我不知道如何使用正则表达式
我试过了
if [ "$x"=~[a-zA-Z]+ ];then echo "yes"; else echo "no" ;fi
or
if [ "$x"=~"^.*[a-zA-Z].*$" ];then echo "yes"; else echo "no" ;fi
并用x="1234"进行测试,上面的脚本输出结果都是“yes”,所以都是错误的
如何实现我的目标?谢谢!
最佳答案
试试这个:
#!/bin/bash
x="1234"
y="a1234"
if [[ "$x" =~ [A-Za-z] ]]; then
echo "$x has one alphabet"
fi
if [[ "$y" =~ [A-Za-z] ]]; then
echo "Y is $y and has at least one alphabet"
fi
关于regex - 如何检查一个字符串是否至少包含一个字母字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14130950/