gpt4 book ai didi

linux - Bash 脚本检查大写字母的字符串

转载 作者:IT王子 更新时间:2023-10-29 00:34:50 33 4
gpt4 key购买 nike

我正在尝试检查字符串中是否存在任何大写字母。我的代码显示任何输入都没有上限,可能是“sss”、“Sss”、“SSS”

if [[ "$pass" =~ [^a-zA-Z0-9] ]]
then
echo "Upper found"
else
echo "no upper"
fi

最佳答案

[^a-zA-Z0-9] 表示除了 a-z,即小写字母,A-Z,即大写字母,和 0-9,即数字。 sssSssSSS 都只包含字母,因此无法匹配。

[[ $password =~ [A-Z] ]]

如果密码包含任何大写字母则为真。

你应该在运行这种测试之前设置LC_ALL,例如

$ LC_ALL=cs_CZ.UTF-8 bash -c '[[ č =~ [A-Z] ]] && echo match'
match
$ LC_ALL=C bash -c '[[ č =~ [A-Z] ]] && echo match'
# exit-code: 1

[[:upper:]] 应该始终有效。

关于linux - Bash 脚本检查大写字母的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40294902/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com