javascript - 使用 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
解决方案
TEXT = text:[^* ]+ { return text; }
解决了我的问题。
推荐阅读
- ffmpeg - 使用 ffmpeg 对多个网络输入进行视频叠加
- c# - LocalPlayer的子对象不是localplayer?
- html - 避免在响应部分裁剪 img(在 CSS 中加载背景图像)
- python - BeautifulSoup 并写入 JSON 文件
- oracle - 通过映射两个不同表的值来创建新表?
- javascript - 对 Firebase Cloud Functions(Spark 层)中外部 API 的 HTTP 请求被拒绝
- apache-zeppelin - 如何在 sql 解释器中访问 ZeppelinContext
- javascript - Campaign Monitor 表单不断重定向
- homestead - Homestead - 未指定输入文件
- pandas - 如何使用 Insert to Code 将 StreamingBody 对象中的数据加载到 Watson Studio 中的 pandas?