Regex 哪些编程语言是常规的?

Regex 哪些编程语言是常规的?,regex,language-agnostic,programming-languages,regular-language,Regex,Language Agnostic,Programming Languages,Regular Language,对任何“为什么这个正则表达式不能工作html!?!”问题的典型回答是“因为html不是一种常规语言” 所以,我很好奇是否有人有一个通用编程语言列表,这些语言都是正则语言,因此适合正则表达式匹配。我知道有很多方法可以确定一种语言是否是正则的(逐案),但对于复杂的语言,证明也可能相当复杂。我想也许一份快速的语言清单会有用 我还知道,可以用非正则语言来实现正则表达式,但它们并不总是可靠的(html示例)。不管嵌套或编程长度的任意限制,我怀疑任何通用编程语言都是正则的。即使是简单(中缀)算术表达式也会形

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

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


我还知道,可以用非正则语言来实现正则表达式,但它们并不总是可靠的(html示例)。

不管嵌套或编程长度的任意限制,我怀疑任何通用编程语言都是正则的。即使是简单(中缀)算术表达式也会形成一种非正则语言,这是一种不支持它们的特殊编程语言。更一般地说,如果一种语言允许嵌套任何构造而不限制其深度,它就不是一种常规语言。

任何表达能力足以进行“真实”编程(即图灵完成)的编程语言都是非常规的。我不确定这是否是一个好问题,因为这是一个X列表,但我不知道它是如何不具有建设性的。一种语言是否规则是一个非常明确的属性,因此我无法想象“这个问题可能会引发辩论、争论、轮询或扩展讨论”。您是在寻找编程语言还是标记语言?对不起,我知道html是一种标记语言,而不是编程语言。我想我的意思是,如果有的话,还有什么语言(如C/Java/Perl/等编程语言,如SQL/SPARQL/等查询语言,甚至是HTML等标记语言或CSS等样式表语言)可能重复中缀运算符的非规则性
\d+([*/+-]\d+*
是一种常规语言,不是吗?我在想括号。虽然他们不是严格要求,但他们通常被录取。任何需要括号平衡的语言都是不规则的。