我正在尝试编写一个 RegEx 模式,该模式将提取自然语言短语的关键短语,以构建查询并返回数据。到目前为止,一切都很顺利,直到我遇到了一个问题,试图有效地将主要主题从句子中拉出来。例如:
假设我的短语是“显示上个月关闭的所有门票”。我可以解析构建查询所需的每个元素,但是如果我尝试“向我显示上周关闭的所有票证和请求”之类的东西,那么一切都会崩溃。
我很难同时获得两个主题(门票和请求)。理想情况下,它们将被放入单独的命名组中,例如Measures:tickets、requests and logic: and . 需要注意的是,某些度量可能包含空格,因此也必须加以考虑。
到目前为止,我只能想出这个:
(\S+\s?)+(?=and|or)
当使用它的测试短语时,"#sla met and tickets"
它只会拉#sla遇见。
我从昨天才开始使用正则表达式,所以任何提示都会很有帮助!