GNU grep 的 basic/extended 和 PCRE (`-P`) 正则表达式有什么区别?

What are the differences between GNU grep's basic/extended and PCRE (`-P`) regular expressions?

GNU grep 的基本 (BRE) 和扩展 (ERE) 语法记录在 https://www.gnu.org/software/grep/manual/html_node/Regular-Expressions.html,PCRE 总结在 man pcresyntax,但没有明确的比较。 GNU grep 的 basic/extended 和 PCRE (-P) 正则表达式有什么区别?

我对 http://www.greenend.org.uk/rjk/tech/regexp.html 的主要语法和功能差异的研究:

Perl 支持更多的附加功能:

  • "nongreedy {}" 语法 re{...}?
  • 其他锚点和字符类型 \A\C\d\D\G\p\P, \s, \S, \X\Z, \z.
  • (?#comment)
  • 害羞分组(?:re),害羞分组+修饰符(?modifiers:re)
  • 前瞻和负前瞻(?=re)(?!re),后瞻和负后瞻(?<=p)(?<!p)
  • 原子团(?>re)
  • 条件表达式(?(cond)re)
  • ...以及更多内容,请参阅 man pcresyntax