【问题标题】:LookAhead not working in JFlexLookAhead 在 JFlex 中不起作用
【发布时间】:2011-12-09 16:28:25
【问题描述】:

我正在尝试使用 JFlex 构建解析器,但遇到了一个非常基本的问题。 我想要这个令牌

[A-Za-z]+_N$ { System.out.println("Noun"); }

让它将“car_N”识别为“名词”而不识别“car_NN”。 但它不起作用,如果我使用

[A-Za-z]+_N { System.out.println("Noun"); } 

“car_N”被识别,但“car_NN”也返回“car_N”,这不是我想要的。

我想知道这里有人知道如何提供帮助吗?

JFlex 和 Flex 前瞻符号“$”似乎不起作用

【问题讨论】:

    标签: regex nlp flex-lexer jflex


    【解决方案1】:

    我认为您误解了“$”的含义。作为前瞻,它仅在文本行的末尾匹配(硬换行符)。因此,它工作得非常好。但它无法区分 car_N 和 car_NN,除了 car_N 的实例位于行尾。也许你真的想要一个像这样的前瞻:

    [A-Za-z]+_N/[^A-Za-z]
    

    【讨论】:

    • 谢谢!我不知道你放弃了 stackoverflow,我和 William Cohen 一起工作 顺便说一句..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多