javascript - javascript中递归语法的正则表达式

标签 javascript regex grammar xregexp

假设我有以下虚构的语法,带有子句的递归定义。

sentence := clause +
subject := (qualifier *) subjectiveNoun
objects := object +
object := nothing | (qualifier *) objectiveNoun
clause := subject objects verb
qualifier := adjective | clause

假设其他一切都有一个非递归定义,应该如何为“子句”编写 javascript 语法?如果有人熟悉 XRegExp 库来执行此操作,那将是一个额外的优势。

最佳答案

XRegExp 库确实支持递归匹配1,但您的目标是什么?如果您能够将其与正则表达式相匹配,那又如何呢?如果您打算处理解析树,那么正则表达式用处不大,它只会告诉您源匹配与否。在这种情况下,请查看 PEG.jsJison .

1 http://xregexp.com/plugins/#matchRecursive

关于javascript - javascript中递归语法的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15083193/

相关文章:

python - 如何用 EBNF 表达这种格式?

javascript - Jquery 水平 Accordion Webkit 错误

javascript - 如何在对象数组中只包含一次值?

java - 解析Jetty日志记录

python - 集合中的正则表达式

php - 在引号内使用带转义引号的 REGEX

python - 调试 Python ANTLR4 语法

javascript - 如何将 lang 属性添加到 DataTables.js 搜索框

javascript - Ajax 调用会阻塞服务器直到完成

c++ - 如何阅读和理解 C & C++ 标准以及其中使用的语言语法?