Perl使用哪种正则表达式的POSIX风格?

Kyl*_*yle 7 regex linux perl posix find

具体来说,我正在使用Linux命令:

$ find . -regextype posix-extended -regex '<some regex>' ...

我只是想确保我使用的POSIX类型是Perl使用的类型,因为这是迄今为止我最熟悉的类型.

Pau*_*han 10

Perl为正则表达式定义了自己的标准.例如,有一些系统,如PCRE,代表Perl兼容的正则表达式.

  • 或Perl兼容的正则表达式,对吧? (4认同)
  • +1,虽然注意到PCRE不完全兼容Perl. (4认同)
  • 修复 - 你们可以编辑进去,我不会被冒犯.:) (4认同)
  • *该名称具有误导性,因为只有当您考虑PCRE的一部分设置和Perl正则表达式设施的子集时,PCRE才与Perl兼容.*http://en.wikipedia.org/wiki/PCRE (3认同)

Sin*_*nür 9

Perl的正则表达式引擎是Perl的正则表达式引擎.perl定义Perl.

有关详细信息,请参阅perldoc perlreref.


wRA*_*RAR 6

Perl使用Perl正则表达式,而不是POSIX正则表达式.您可以自己比较语法,例如regex(7).


yst*_*sth 5

的perldoc perlhist,Perl的0( “分类。别问。”)使用基本的正则表达式。从87年12月的Perl 1.000开始,所有版本都使用了扩展的正则表达式(并在这些扩展了...)。


小智 4

Perl 的正则表达式更像是 Posix 扩展的正则表达式。基本的 posix 正则表达式使用(and{来匹配实际字符,and\(作为\{特殊字符,但 Posix 扩展正则表达式使用(and{与 Perl 中相同的含义和\(or\{来匹配实际字符,与 Perl 相同。所以 posix-extend 就是你想要的。