3

对任何“为什么这个正则表达式不能工作 html!?!”的典型反应 问题是“因为 HTML 不是常规语言”。

所以,我很好奇是否有人有一份常见的编程语言列表,这些语言是正则语言,因此适用于正则表达式匹配。我知道有一些方法可以确定一种语言是否是常规语言(逐个案例),但对于复杂的语言,证明也可能相当复杂。我想也许一个快速的语言检查列表会很有用。

我也知道你可以用非常规语言做正则表达式,但它们并不总是可靠的(html 示例)。

4

1 回答 1

7

忽略对嵌套或编程长度的任意限制,我怀疑任何常见的编程语言都是常规的。即使是简单的(中缀)算术表达式也构成了一种非常规语言,并且它是一种不支持它们的不寻常的编程语言。更一般地说,如果一种语言允许嵌套任何结构而不限制其深度,则它不是常规语言。

于 2013-03-04T15:32:55.170 回答