正则表达式从文件中解析艺术家和标题

时间:2011-08-24 16:52:50

标签: regex

我有以下文件:

#EXTM3U
#EXTINF:36,Armand van Helden Featuring La Rok - Let Me Lead You
C:\Users\Public\Music\Sample Music\Armand van Helden Featuring La Rok - Let Me Lead You.mp3
#EXTINF:19,Ann Nesby - Loving is Really My Game
C:\Users\Public\Music\Sample Music\Ann Nesby - Loving is Really My Game.mp3
#EXTINF:19,Thomas Toccafondi feat. Kaysee - I've Changed (Earnshaw & Jones Remix)
C:\Users\Public\Music\Sample Music\Thomas_Toccafondi_feat._Kaysee-I've_Changed_(Earnshaw_&_Jones_Remix)-DUFF028-1(320k).mp3
#EXTINF:57,Terry Hunter feat. Terisa Griffin - Wonderful (Abicah Soul's Wonderful Remix)
C:\Users\Public\Music\Sample Music\Terry_Hunter_feat._Terisa_Griffin-Wonderful_(Abicah_Soul's_Wonderful_Remix)-TB005-1(320k).mp3

我正在尝试编写一个正则表达式,将艺术家和标题分解为两个独立的组,以便第一组包含艺术家:

Armand van Helden Featuring La Rok
Ann Nesby
Thomas Toccafondi feat. Kaysee
Terry Hunter feat. Terisa Griffin

第二组将包含标题:

Let Me Lead You
Loving is Really My Game
I've Changed (Earnshaw & Jones Remix)
Wonderful (Abicah Soul's Wonderful Remix)

解析后的信息应该来自#EXTINF之后的部分:后跟任何数字。我想忽略实际的文件名。

感谢任何帮助。

由于

3 个答案:

答案 0 :(得分:1)

/^#EXTINF:\d+,(.*?) - (.*)/

艺术家在第1组

标题属于第2组

答案 1 :(得分:0)

如果所有曲目都具有相同的格式(#,艺术家 - 曲目),那么我会使用查找' - '在每一行中,都要把它作为#,艺术家和之后的任何东西作为轨道。它只是一个简单的 - 。然后你可以对它进行一些处理以将其拆分。对于艺术家,您可以使用前瞻/后视或仅使用[0-9] +,然后抓住其余部分。

希望有所帮助!

答案 2 :(得分:0)

艺术家:

/^#EXTINF:\d+,([^-]+) - /

标题

/^#EXTINF:\d+,[^-]+ - (.+)/