为什么有这么多不同的正则表达式方言?

2023-11-23

我想知道为什么必须有这么多正则表达式方言。为什么这么多语言似乎一心想编写自己的语言,而不是重用经过考验的真实方言。

像这些。

我的意思是,我知道其中一些确实有非常不同的后端。但这不应该从程序员那里抽象出来吗?

我更多地指的是奇怪但微小的差异,例如括号在一种语言中必须转义,但在另一种语言中是文字。或者元字符的含义有些不同。

有什么特殊原因我们不能为正则表达式提供某种通用方言吗?我认为这会让必须使用多种语言工作的程序员变得更容易。


因为正则表达式只有三个操作:

  • 级联
  • Union |
  • 克林封闭*

其他一切都是扩展或语法糖,因此没有标准化来源。捕获组、反向引用、字符类、基数操作等都是对正则表达式原始定义的补充。

其中一些扩展使“正则表达式”根本不再是正则的。由于这些附加功能,他们能够决定非常规语言,但无论如何我们仍然称它们为正则表达式。

随着人们添加更多扩展,他们通常会尝试使用正则表达式的其他常见变体。这就是为什么几乎每种方言都使用X+意思是“一个或多个X”,这本身就是一种书写的捷径XX*.

但是当添加新功能时,就没有标准化的基础,所以必须有人来弥补。如果多于一组的设计师几乎在同一时间提出类似的想法,他们就会有不同的方言。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么有这么多不同的正则表达式方言? 的相关文章

随机推荐