gpt4 book ai didi

javascript - PEG.js 匹配数组中的单词

转载 作者:行者123 更新时间:2023-11-30 11:34:53 24 4
gpt4 key购买 nike

我在 PEG.js 和匹配单词方面遇到问题。

它看起来像这样:Words = "stack"/"overflow"/"stackoverflow" - 当我尝试匹配“stackoverflow”时,它显示错误 预期输入结束,但找到了“o”。 所以它找到了stack并认为它已经结束 - overflow被留下。

您可以在这里尝试:https://pegjs.org/online并粘贴:

文本 = 单词
Word = "stack"/"overflow"/"stackoverflow"
并尝试使用单词“stackoverflow”

我不习惯更改数组中的单词。

最诚挚的问候。

最佳答案

PegJS 尝试匹配第一个值。只有当这不成功时,它才会尝试第二个,依此类推。正如您的情况 stack 可以匹配一样,它不会继续尝试匹配其他任何内容。

当一个匹配项是另一个匹配项的前缀时,经常会出现此问题。在这种情况下,您应该以“较长”术语开始列表,并将前缀放在末尾:

Text = Word
Word = "stackoverflow"/"stack"/"overflow"

您还可以匹配多个单词。在这种情况下,stackoverflow 都会匹配,但 stackoverflow 不会匹配。

Text = Word*
Word = "stack"/"overflow"/"stackoverflow"

关于javascript - PEG.js 匹配数组中的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44886088/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com