根据彼此定义正则表达式

时间:2013-03-12 08:48:18

标签: regex recursion context-free-grammar

在JavaScript中,是否可以根据其他正则表达式定义正则表达式,以便递归地定义每个正则表达式?

例如,我想使用这些正则表达式(相互定义)来表示JavaScript编程语言语法的一小部分:

<functionDefinition> = function <functionName>(<parameterList>){statementList}
<statementList> = (<functionDefinition>| ... other valid statements go here ... ) //a series of JavaScript statements or function definitions

//each of these regular expressions are defined in terms of the others, allowing them to be infinitely nested

1 个答案:

答案 0 :(得分:1)

  

在JavaScript中,是否可以根据其他正则表达式定义正则表达式,以便递归地定义每个正则表达式?

不,使用JavaScript的正则表达式实现是不可能的。

你需要一个解析器(生成器)。可能的JS选项是: