首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正则表达式的Grep选项。(ERE,BRE,Perl regex)差异

正则表达式的Grep选项。(ERE,BRE,Perl regex)差异
EN

Unix & Linux用户
提问于 2018-02-28 08:01:40
回答 1查看 3.9K关注 0票数 4

我已经掌握了grep和regex的诀窍,但我对不同的选项感到困惑。

代码语言:javascript
复制
grep --help | grep -i "reg.*ex"
  -E, --extended-regexp     PATTERN is an extended regular expression (ERE)
  -G, --basic-regexp        PATTERN is a basic regular expression (BRE)
  -P, --perl-regexp         PATTERN is a Perl regular expression

我对正则表达式有大致的了解,但我经常发现自己对基本知识(例如,当它实际上需要‘.*’时使用'*‘)感到困惑,我把这归咎于不知道正则表达式类型之间的差异(ERE,BRE,Perl regex)。

有详细的解释吗?

EN

回答 1

Unix & Linux用户

发布于 2018-02-28 10:54:52

回答关于*的具体问题。

正则表达式(任意类型)中的*特殊字符作用于前面的表达式。它允许与前一个表达式的零或多个匹配。因此,正则表达式.*匹配任何字符串,无论它是否为空。

*文件名全局字符匹配任何(可能为空)字符串。

正则表达式不是文件名全局模式(反之亦然)。这种特殊的区别是正则表达式和全局模式之间的区别,而不是不同类型正则表达式之间的区别。

票数 3
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/427125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档