You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何校验参数$1是否为3位全大写字符串

参数校验逻辑实现

Shell 环境下实现方案

方案1:Bash 专属正则匹配(性能最优,常用场景首选)

直接利用 Bash 内置的[[ ]]语法搭配正则规则完成校验,无需调用外部命令:

# 校验逻辑
if [[ $1 =~ ^[A-Z]{3}$ ]]; then
    # 符合规则后的业务逻辑
    echo "valid"
else
    # 不符合规则后的异常处理逻辑
    echo "invalid"
fi

规则说明:正则^[A-Z]{3}$中,^匹配字符串起始位置,[A-Z]限定只能是大写英文字母,{3}限定字符长度恰好为3,$匹配字符串结束位置,避免出现超长字符串前缀匹配通过的问题。

方案2:POSIX 标准兼容实现(适配所有类Unix Shell环境)

如果需要在sh等不支持 Bash 专属语法的环境运行,可以借助grep命令实现:

if echo "$1" | grep -qE '^[A-Z]{3}$'; then
    echo "valid"
else
    echo "invalid"
fi

参数说明:-q参数让grep不输出匹配结果,仅返回匹配状态码;-E开启扩展正则支持,简化写法。

测试验证用例

你可以用以下示例快速验证逻辑正确性:

  • 符合规则的输入:ABG、GTD,返回valid
  • 不符合规则的输入:abg(小写)、AB1(含数字)、ABCD(长度4)、AB(长度2)、A C(含空格),均返回invalid

内容的提问来源于stack exchange,提问作者Tenko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 22:36:04