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

Bash环境下满足特定规则的正则表达式编写需求

Bash正则表达式匹配解决方案

需求说明

需要编写适用于Bash的正则表达式$PATTERN,满足以下条件:

  • 字符串必须以aa、bb或cc开头
  • 前缀后必须紧跟.或@符号
  • 上述符号后必须至少包含一个**非.且非@**的字符(等价于:至少包含[a-zA-Z0-9_]或其他除.和@外的任意字符)

匹配示例验证

字符串匹配结果
aa.xyatrue
aa.false
aafalse
bb.@bfalse
bb@btrue
bb.btrue
cc.bb.false
cc.bb@false
cc.xztrue

最终正则表达式

适用于Bash的正则表达式如下:

PATTERN='^(aa|bb|cc)[.@][^.@]+$'

表达式细节解释

  • ^(aa|bb|cc):强制字符串以指定前缀开头
  • [.@]:匹配前缀后的.或@符号
  • [^.@]+:匹配至少1个(+表示1次及以上)非.且非@的字符
  • $:匹配字符串结尾,确保符号后的内容不能是空值,也不能是.或@

Bash中使用方式

将正则表达式用于条件判断的示例:

string="aa.xya"
PATTERN='^(aa|bb|cc)[.@][^.@]+$'
if [[ "$string" =~ $PATTERN ]]; then
    echo "匹配成功"
else
    echo "匹配失败"
fi

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 12:27:06