首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么pegjs不能处理空格规则“"*

为什么pegjs不能处理空格规则“"*
EN

Stack Overflow用户
提问于 2013-08-17 11:30:15
回答 1查看 258关注 0票数 0

以下简单的pegjs语法运行良好:

代码语言:javascript
复制
start
  = sentence

sentence
  = word ws sentence
  / word

word
  = [a-z]*

ws
  = " "

它可以在http://jsfiddle.net/4V3Zt/上使用。语法也可以粘贴到http://pegjs.majda.cz/online中。

如果我更改ws规则以允许空白空间任意空格:

代码语言:javascript
复制
ws
  = " "*    // add an asterisk to allow " ", "  ", "   ", ...

解析失败,引发最大调用堆栈异常。(如果使用jsfiddle,您会看到浏览器中的tools.The异常也出现在node.js环境中,因此它肯定与pegjs有关)。

这个ws规则中的*有什么问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-17 13:53:40

使用+而不是* (也适用于word )。

*可以匹配空字符串;+至少需要一个实例。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18288296

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档