首页 > 解决方案 > 使用 peggy js 使用 JavaScript 解析表达式

问题描述

我已经编写了一个伪代码来确定字符串是否包含*并返回位置(开始、结束和包装),如果它包含请检查代码沙箱。

*问题是代码对于开头包含的字符串正常工作,即*string,对于其他情况它不起作用(string**string*)。请帮我解决这个问题。

示例字符串

console.log(parser.parse("*string"));
console.log(parser.parse("*string*"));
console.log(parser.parse("string*"));
console.log(parser.parse("string"));

预期产出

{star: "start", text: "string"}
{star: "wrapped", text: "string"}
{star: "end", text: "string"}
{star: "no_star", text: "string"}

代码沙箱:https ://codesandbox.io/s/javascript-testing-sandbox-forked-5nrj4?file=/src/index.js

标签: javascriptregexparsingpeg

解决方案


TEXT = text:[^* ]+ { return text; }

解决了我的问题。


推荐阅读