我需要在WKS中制定一套规则和正则表达式来识别歌曲标题和艺术家,比如“播放机车呼吸”或“播放Jethro Tull的歌曲机车呼吸”(我实际上是为德语所做的,所以我不能在NLU中使用内置实体)。
我的问题是,"by“部分是可选的。我已经为"Play the song“(映射到类PLAY)和"by”(映射到类BY)的德语等价物设置了正则表达式,并尝试添加两个规则,一个匹配PLAY (any tokens) BY (any tokens)和PLAY (any tokens)。问题是,第二条规则也与第一条规则相匹配,因此在“Jethro Tull的机车呼吸”一句中,标题被确认为“Jethro Tull的机动性呼吸”。
我试图定义一个带有负前瞻性的正则表达式,即(\w* (?!(by)))*将文本与"by“匹配,但这在WKS中似乎不起作用。
有什么想法,我如何可以提取歌曲标题和艺术家使用WKS规则?
发布于 2017-07-11 04:15:23
负展望的正则表达式在WKS中应该工作得很好。
我不确定您的正则表达式(\w* (?!(by)))*是否表达了您的意图。在WKS之外,它是否如您所预期的那样工作?
也许你是说像((?!(by))\w)*这样的东西?
https://stackoverflow.com/questions/45013206
复制相似问题