Answers:
由于历史原因。“正则表达式”语法没有一个定义。正则表达式的概念本身与正式描述它的实际语法无关。人们提出不同的表达同一事物的方式,因此产生了不同风格的regex语法。
但是,您会发现这些天前后主要有两组定义:
POSIX正则表达式,指定基本(BRE)和扩展正则表达式(ERE)。混乱开始于例如“基本正则表达式”用于\( \)
表示组,而“扩展正则表达式”( )
用于该组的地方。
基于Perl的正则表达式。Perl正则表达式定义了更一致的语法,例如,反斜杠将始终转义非字母数字字符。如今,从Java到Ruby,许多流行的编程语言中都可以找到Perl regex语法。
您可以查看有关正则表达式语法的Wikipedia文章以了解更多信息。