从歌曲标题中提取艺术家和标题(Regex)[重复]

cl25kdpy  于 2023-05-01  发布在  其他
关注(0)|答案(1)|浏览(144)

此问题已在此处有答案

Regular expression to stop at first match(9个回答)
6天前关闭。
我需要匹配任何歌曲标题,以下是我的测试:

ar-tist - title-o.\fvc / the song.mp3
Nulbarich - TOKYO / THE FIRST TAKE
James Hersey – Don‘t Need Me feat. narou
KEIJU – I Get Lonely (Official Video) / Album "T.A.T.O."
Hiplin / Night Cruising(Official Lyric Video)

我有这个regex:

^(.+)\s+[–\-\/]\s+(.+)

但问题是它从匹配字符串的末尾反向拆分/–-,idk是否清晰,例如我需要拆分ar-tist - title-o.\fvc / the song.mp3如下:
第一组-ar-tist第二组-title-o.\fvc / the song.mp3
但我得到了这个
第一组-ar-tist - title-o.\fvc第二组-the song.mp3
我是这样修正的:

^(.+)\s+–\s+(.+)|^(.+)\s+-\s+(.+)|^(.+)\s+\/\s+(.+)

但是这个正则表达式的问题是它现在创建了6个组,我只需要2个
regexr.com/7clh7

nwo49xxi

nwo49xxi1#

尝试在Regex中使用?(Lazy quantifier):^(.+?)\s+[\/–\-]\s+(.+)
这允许它尽可能少地匹配。省略它意味着贪婪匹配(尽可能多地匹配,如果需要则返回)。

相关问题