Ibm cloud Watson知识工作室中的规则/Regexp

Ibm cloud Watson知识工作室中的规则/Regexp,ibm-cloud,ibm-watson,Ibm Cloud,Ibm Watson,我需要在作品中制定一套规则和正则表达式,以识别歌曲标题和艺术家的句子,如“播放火车头呼吸”或“播放Jethro Tull的歌曲火车头呼吸”(我实际上是为德语而做的,所以我不能在NLU中使用内置实体) 我的问题是“by”部分是可选的。我已经为德语中的“Play[thesong]”(映射到一个类播放)和“by”(映射到一个类by)的等价物建立了正则表达式,并尝试添加两个规则,一个匹配规则 PLAY(任何代币)BY(任何代币) 和玩(任何代币)。 问题是第二条规则与第一条规则匹配,因此在“演奏Jeth

我需要在作品中制定一套规则和正则表达式,以识别歌曲标题和艺术家的句子,如“播放火车头呼吸”或“播放Jethro Tull的歌曲火车头呼吸”(我实际上是为德语而做的,所以我不能在NLU中使用内置实体)

我的问题是“by”部分是可选的。我已经为德语中的“Play[thesong]”(映射到一个类播放)和“by”(映射到一个类by)的等价物建立了正则表达式,并尝试添加两个规则,一个匹配规则
PLAY(任何代币)BY(任何代币)
玩(任何代币)
。 问题是第二条规则与第一条规则匹配,因此在“演奏Jethro Tull的机车呼吸”一句中,标题被认为是“Jethro Tull的机车呼吸”

我试图定义一个具有负前瞻性的正则表达式,即
(\w*(?!(by))*
,以将文本与“by”匹配,但这在工作中似乎不起作用


你知道如何使用WKS规则提取歌曲标题和艺术家吗?

带有负前瞻的正则表达式在WKS中应该可以正常工作

我不确定正则表达式
(\w*(?!(by))*
是否表达了您的意图。在工作之外,它是否像你期望的那样工作

也许你的意思是像我用来测试表达式的
(?!(by))\w)*

之类的东西<代码>((?!(by))。*是我在工作中真正起作用的东西。