このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1340383120/600
#  お願いします。 
#   
#  ●正規表現の使用環境 
#  Javascript 
#   
#  ●検索か置換か? 
#  検索 
#   
#  ●説明 
#  HMVの商品IDらしき番号を取得したい
#   
#  ●対象データ 
#  http://ime.nu/www.hmv.co.jp/artist_松平健_000000000039225/item_マツケンサンバ-2-リミックス-トラックス-dvd_1789889 
#   
#  http://ime.nu/www.hmv.co.jp/artist_松平健_000000000039225/item_マツケンサンバ-2-リミックス-トラックス-dvd_1789889/ref/1448035_8 
#   
#  ●希望する結果  
#  1789889 
#   
#  説明 
#  アンダーバー以降の末尾の自然数が商品IDなのですが(これなら簡単) 
#  リファラー付きの場合は末尾じゃなくなるので初心者の自分には難しいです。 
#  なお、商品IDは0(ゼロ)で桁合わせはしていません 
# 
# 

'HMVの商品IDらしき番号を取得したい'(_文字列,_商品ID) :-
        sub_atom(_文字列,S,5,_,'/ref/'),
        sub_atom(_文字列,0,S,_,_文字列_1),
        '商品IDは最後の_から末尾までの副文字列'(_文字列_1,_商品ID),!.
'HMVの商品IDらしき番号を取得したい'(_文字列,_商品ID) :-
        '商品IDは最後の_から末尾までの副文字列'(_文字列,_商品ID),!.

'商品IDは最後の_から末尾までの副文字列'(_文字列,_商品ID) :-
        atom_chars(_文字列,Chars),
        append(_,['_'|R1],Chars),
        \+(member('_',R1)),
        atom_chars(_商品ID,R1).