我正在尝试使用正则表达式构建搜索,该表达式使用特定术语来拆分和过滤搜索查询。例如,如果我有这样的查询:
artist rolling stones track stupid girl track paint it black
,它将拉出滚石乐队的专辑,并有曲目愚蠢的女孩并将其涂成黑色。理想情况下(经过一些处理)我会像这样将数据发送到服务器{ artists : ['rolling stone'], tracks : ['stupid girl', 'paint it black'] }
:
我有一个基本的正则表达式,它匹配关键字(艺术家/曲目)和关键字之后的第一个单词(滚动/愚蠢/绘画),但是如果我让它匹配空格和后面的单词,它只会匹配整个字符串。
这是我目前拥有的正则表达式:(artist|track)\s([\w]+)
. 我猜我需要使用停用词或其他东西来创建短语之间的边界,但我对构建正则表达式并不是很有经验。任何帮助将不胜感激。