我想知道为什么必须有这么多正则表达式方言。为什么这么多语言似乎一心想编写自己的语言,而不是重用经过考验的真实方言。
像这些。
我的意思是,我知道其中一些确实有非常不同的后端。但这不应该从程序员那里抽象出来吗?
我更多地指的是奇怪但微小的差异,例如括号在一种语言中必须转义,但在另一种语言中是文字。或者元字符的含义有些不同。
有什么特殊原因我们不能为正则表达式提供某种通用方言吗?我认为这会让必须使用多种语言工作的程序员变得更容易。
因为正则表达式只有三个操作:
其他一切都是扩展或语法糖,因此没有标准化来源。捕获组、反向引用、字符类、基数操作等都是对正则表达式原始定义的补充。
其中一些扩展使“正则表达式”根本不再是正则的。由于这些附加功能,他们能够决定非常规语言,但无论如何我们仍然称它们为正则表达式。
随着人们添加更多扩展,他们通常会尝试使用正则表达式的其他常见变体。这就是为什么几乎每种方言都使用X+
意思是“一个或多个X”,这本身就是一种书写的捷径XX*
.
但是当添加新功能时,就没有标准化的基础,所以必须有人来弥补。如果多于一组的设计师几乎在同一时间提出类似的想法,他们就会有不同的方言。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)