Shell 脚本中的 REGEX 测试始终为 False

2024-01-30

这个正则表达式总是在 shell 脚本中检查false尽管它匹配$LIST values.

#!/usr/bin/env bash

LIST="AB,CD,EF" # Valid value and should print "VALID!"

if [[ ! "$LIST" =~ ^[A-Z]{2}(?:,[A-Z]{2})*$ ]]
then
    echo "INVALID"
else
    echo 'VALID!'
fi

For the regex, 一些无效的$LIST值将是AB,CD,EF,, AB,CD,ef.

这可能是什么原因?


你的正则表达式:

^[A-Z]{2}(?:,[A-Z]{2})*$

不符合 POSIX 正则表达式,因为(?:...)BASH 正则表达式不支持(非捕获组)POSIX 扩展正则表达式.

请改用捕获组:

^[A-Z]{2}(,[A-Z]{2})*$
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Shell 脚本中的 REGEX 测试始终为 False 的相关文章

随机推荐

  • fancybox onStart onComplete 状态不起作用

    我正在努力继续工作onStart and onComplete方法使用FancyBox http fancybox net jquery 插件 我似乎无法让它为我工作 你们有人知道我做错了什么吗 这就是我现在正在尝试的 document r
  • 如何重置表中的身份

    我的情况是 我创建表为 id Identity 1 1 not null name varchar 500 category varchar 50 我尝试插入值 显示有 1 sede 糖尿病 结果是 1 2 3 但是当我删除全部内容时 再次
  • Android 中的转义“@”字符

    我正在寻找一种方法来转义 Android strings xml 资源中字符串开头的 符号 我不断收到编译错误 并且 Eclipse 中的布局构建器拒绝工作 有谁知道怎么办 字符景观取决于每个人 android文档提供了这个表https d
  • 如何查看Check Constraint的内容

    是否有一个 SQL 脚本可以让我查看约束的内容 我发现了一个有关 Oracle 的问题 但我需要一个 SQL 脚本 如何在Oracle上查看Check Constraint的内容 https stackoverflow com questi
  • intellij 2020.1 sbt mainRunner 配置

    我正在尝试遵循指示 https github com JetBrains intellij scala wiki 5BSBT 5D How to use provided libraries in run configurations用于设
  • Vue中如何通过Id获取元素?

    我想要一件外衣Element https developer mozilla org en US docs Web API Element在 Vue 中 使用getElementById https developer mozilla or
  • 安装 geoR 包时出现问题

    我刚刚在 Xubuntu 13 10 上安装了 R 和 R studio 版本 3 0 1 我想使用geoR包裹 但是 当我尝试安装它时 出现错误 install packages geoR 将软件包安装到 home R x86 64 pc
  • Java getter 与 this

    这是一个非常通用的场景 我使用 setter 函数设置变量并仅在本地使用该变量 class Main private String str public Main String value setStr value private Stri
  • 如何在 WCF 服务上设置密码?

    我正在开发一个 WCF 服务 我们的其他软件调用该服务将错误信息发送到我们的数据库 问题是 由于它是在线服务 所以它不安全 所以我想知道该服务是否可以请求密码 即当我们调用该服务时 我们必须配置密码或类似的东西 我用谷歌搜索了一下 但对于这
  • 尾递归Map函数RACKET

    Racket 中的映射函数采用一个函数和一个列表 并将该函数递归地应用于列表中的每个项目 我正在尝试将映射转换为尾递归函数 这该如何完成 你被困在哪里了 您可以定义自己的map程序与内部loop程序 define map f in defi
  • 如何在 Jetpack Compose for Desktop 中使用 .svg 文件?

    我正在尝试使用 svg 矢量文件 来显示图像 但我被卡住了 无法做到这一点 有什么办法可以使用它 我尝试像这样使用它 Image imageFromResource svg file name svg contentDescription
  • OpenCV 中从 3D 点构建平面

    我想从 OpenCV 中的 3D 点列表构造一个平面 我想通过查找以下形式的四个参数来获得结果 Ax By Cz D 0 有人会建议我一种方法吗 如果数据不包含异常值且不包含多个平面 此外 所有点都恰好位于一个平面上 数据没有噪声 就这么简
  • 将字典转换为元组列表

    如何以最短的方式将字典转换为元组列表 C Dictionary
  • 达到 MaxLength 时 XAML 触发自动制表符

    当 MaxLength 属性到达 XAML 触发器 DataTrigger PropertyTrigger Style Trigger 等时 如何合并自动制表符 下面是两个这样的选项 说明我如何通过代码隐藏使用 TextBox 完成此操作
  • Spring Boot RabbitMQ 接收器 Jackson 反序列化为 POJO

    我有一个 Spring Boot 项目 我正在尝试与 RabbitMQ 服务器集成 以便我可以向队列发布消息和从队列读取消息 这是我的rabbitmq配置 编辑后仅显示相关详细信息 Configuration ConfigurationPr
  • 运行 NestJS 应用程序时如何查看 console.log 输出?

    我正在构建我的第一个 NestJS 应用程序 我在他们的文档中看到很多使用 console log 的示例 但是当我添加它时 终端中没有输出 我正在使用 vscode 的终端 我还尝试使用内置 Logger 并使用 npm run star
  • MySQL 5.1 在存在索引时使用 filesort 事件

    也许我错过了一些愚蠢的事情 显然 即使有一个索引与 ORDER BY 子句中的列完全匹配 MySQL 5 1 也会继续执行文件排序 为了将其发布在这里 我过度简化了数据模型 但问题仍然发生 表定义 CREATE TABLE event id
  • 日期选择器对话框阴影的白色背景

    我将 datepicker 添加到我的应用程序中 但我的问题是对话框的阴影有白色背景 使用 Android 21 进行编译 请帮我删除白色背景 我有同样的问题 我所做的第一个解决方案 我最终在 DatePickerDialog 构建器中给出
  • 如何将宏与金字塔/ZPT(变色龙)一起使用

    我想将宏与金字塔 ZPT引擎 Chameleon 一起使用 文档说 单个页面模板可以容纳多个宏 http chameleon readthedocs org en latest reference html macros metal htt
  • Shell 脚本中的 REGEX 测试始终为 False

    这个正则表达式总是在 shell 脚本中检查false尽管它匹配 LIST values usr bin env bash LIST AB CD EF Valid value and should print VALID if LIST A