2011-08-24 55 views
1

我有以下文件:正則表達式從一個文件解析的藝術家和標題

#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後面的部分:緊跟任何數字。我想忽略實際的文件名。

任何幫助表示讚賞。

感謝

+0

如果什麼 - 出現在藝術家的名字或標題? –

回答

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

藝術家是在第1組

標題是第2組

0

如果所有軌道具有相同的格式(#,藝術家 - 田徑),那麼我會用找「 - 」在每一行,走什麼之前,它作爲#,藝術家所當之後它作爲軌道。這只是一個簡單的-。然後你可以對它進行一些處理來分割它。對於藝術家,您可以使用前視/後視或僅使用[0-9] +,然後抓住該線的其餘部分。

希望有幫助!

0

藝術家:

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

標題:

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