【问题标题】:Represent a Regex in Peg.js way以 Peg.js 方式表示正则表达式
【发布时间】:2017-11-12 08:31:25
【问题描述】:

我正在使用 Peg.js 语法验证。我有以下正则表达式,但我无法在 peg 语法中表示相同。

如何以 PEG 方式表示以下正则表达式?

^(?!.*[()!=<>", ])(?!(?:first|second|third)$).+$

如果我使用以下内容,我会得到 语法错误-

someRule = ^(?!.*[()!=", ])(?!(?:first|second|third)$).+$

消息:“预期“!”、“$”、“&”、“(”、“.”、字符类、...标识符、文字或空格,但找到“^”。”

我正在寻找的场景被提及为: Scenarios

【问题讨论】:

    标签: javascript regex peg


    【解决方案1】:

    复杂的正则表达式不能在没有准备的情况下放入 PEG 中。 (我假设您想为您的正则表达式识别的语言创建语法,而不是您希望识别您的正则表达式文字。)

    例如,^$ 字符在 PEG 中没有特殊含义。同样,?!?: 结构也没有特殊含义。

    虽然 PEG 有一些类似于正则表达式的结构,但它确实更通用,并且具有完全不同的语法。

    【讨论】:

      猜你喜欢
      • 2015-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多