美文网首页
使用 grep 正则匹配时不支持 \d

使用 grep 正则匹配时不支持 \d

作者: 87d6dc4b11a7 | 来源:发表于2025-04-07 09:05 被阅读0次

使用正则表达式测试匹配Jira Id时,一直无输出。

echo "TEST-58" | grep -oE '^[A-Z]+\-\d+$'

1、在 regex101 验证该表达式是正确的。
2、尝试改成^[A-Z]+-[0-9]+$后,可以正常匹配输出

$ echo "TEST-58" | grep -E '^[A-Z]+-\d+$'
$ echo "TEST-58" | grep -oE '^[A-Z]+-[0-9]+$'
TEST-58

原因分析:
通过man grep查看发现grep 支持的正则表达式,主要有三类,分别是 basic RegExsextended RegExsperl RegExs。其中 basic RegExs 是默认的。

   Pattern Syntax
       -E, --extended-regexp
              Interpret PATTERNS as extended regular expressions (EREs, see below).

       -F, --fixed-strings
              Interpret PATTERNS as fixed strings, not regular expressions.

       -G, --basic-regexp
              Interpret PATTERNS as basic regular expressions (BREs, see below).  This is the default.

       -P, --perl-regexp
              Interpret  I<PATTERNS>  as Perl-compatible regular expressions (PCREs).  This option is experimental when combined with the -z (--null-data) option, and grep -P may warn of unimplemented
              features.

参考:https://juejin.cn/post/7373860534242656283

相关文章

  • 2019-04-14 SHELL常用命令与功能

    字符串匹配grep 'test' filepathgrep默认使用一定正则匹配规则,若希望使用纯文本匹配,则使用 ...

  • Grep命令的使用

    #GREP介绍 注意:在输入要搜索的字符串时最好使用双引号,而在模式匹配使用正则表达式时,建议使用单引号。 –co...

  • linux grep命令的用法

    一、用法 grep全称是Global Regular Expression Print,表示使用正则表达式匹配文本...

  • Linux grep、egrep使用命令详解

    grep egrep区别grep 默认不支持扩展 但可以通过-E 选择来支持扩展正则egrep 支持扩展正则 ...

  • 六周一次课

    grep grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。语法: grep ...

  • shell正则表达式

    基本正则列表 扩展正则列表 正则表达式匹配练习: 1)典型的应用场合:grep、egrep检索文本行 grep命令...

  • grep常用命令

    grep:支持基本正则表达式 egrep:支持扩展正则表达式,相当于grep -E fgrep:不支持正则表达式,...

  • grep及正则表达式

    grep简介 grep 是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。通常grep有...

  • grep 文本查找命令

    语法: 主要选项: -E    使用扩展正则表达式进行匹配,grep -E可以取代传统的egrep命令-F    ...

  • 7月23日 正则符号

    系统通配符号 * 匹配所有内容 {} 匹配序列信息 系统正则符号 主要在grep sed awk 命令用基础正则b...

网友评论

      本文标题:使用 grep 正则匹配时不支持 \d

      本文链接:https://www.haomeiwen.com/subject/ymcskdtx.html