我最近与Ghoti就我对这个问题的回答的评论中的正则表达式的构成进行了友好的争论。我声称以下是正则表达式:
`[Rr]eading[Tt]est[Dd]ata`
Run Code Online (Sandbox Code Playgroud)
Ghoti 不同意,声称它是一个文件 glob。维基百科上的glob页面声称(强调我的):
Glob 不包括 Kleene 星的语法,它允许多次重复表达式的前一部分;因此它们不被视为正则表达式,它可以在任何给定的有限字母表上描述更大的正则语言集。
但是,没有引用此声明,表明这只是特定维基百科编辑的意见。
The Single UNIX® Specification, Version 2指出基本正则表达式 (BRE) 甚至可以是单个字符:
普通字符是与自身匹配的 BRE:支持的字符集中的任何字符,但 BRE 特殊字符中列出的 BRE 特殊字符除外。
那么,*nix 世界中正则表达式的定义是什么,该定义是否不包括文件 glob?