regex - 哪些编程语言是常规的?

标签 regex language-agnostic programming-languages regular-language

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the help center为指导。




8 年前关闭。




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

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

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

最佳答案

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

关于regex - 哪些编程语言是常规的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15204299/

相关文章:

javascript - 正则表达式去除所有 html 标签,不包括 <br> & <a class ='user' ></a>

Javascript replace() 和 $1 问题

algorithm - 加权图中的最小惩罚路径

syntax - 固定格式语言和自由格式语言有什么区别?

javascript: 获取 url 路径

ruby - 在 ruby​​ 中查找任意正则表达式的最后(最右边)匹配

algorithm - 这个上下文无关语言枚举器的伪代码实现是什么?

unit-testing - 您是否遇到过 TDD 增加开发时间的情况?

python - 安装 Python 脚本,维护对 Python 2.6 的引用

programming-languages - 对于实时编程,在确定性方面,引用计数是否比垃圾收集更具优势?