“正则表达式”一词中的“常规”是什么意思?
我听说有一次正规用法是正规的,但不再是
答案 0 :(得分:11)
正则表达式中的常规来自与regular language匹配。
regular expressions used in formal language theory的概念与PCRE之类的引擎调用正则表达式完全不同。 PCRE和其他类似引擎具有lookahead,conditionals和recursion等功能,可以匹配非常规语言。
答案 1 :(得分:4)
它来自常规语言。这是形式语言理论的一部分。查看Chomsky hierarchy了解其他正式语言。
答案 2 :(得分:1)
这表明它是一种常规语言。
正则表达仍然很受欢迎。有些人对它们皱眉但是它们仍然快速简单(如果你知道如何使用它们)匹配某些类型的字符串的方式。替代方案通常是通过字符串循环并提取您需要的比特的几行代码,这是非常糟糕的!
我仍然会在常规(双关语)的基础上使用它们,为你提供一个用例,我前几天用它来匹配吉他和弦,与歌词相对。它们也常用于电子邮件地址的基本验证等。
他们肯定没死。
答案 3 :(得分:1)
我认为它来自正则表达式描述的语法类的术语:常规语法(或“常规”语言)。 这个术语的来源可能来自维基百科之旅。
现代正则表达式引擎实现了所有那些花哨的前瞻,模式重新匹配和子表达式计数功能,那些,它们正在识别一类语法,它是常规语法的超集。 “经典”正则表达式以机械方式与称为“有限自动机”的理论机器相对应。这本身就是一个非常有趣的主题。