このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1340383120/357
#  ●正規表現の使用環境 
#  MSVC2012 / .NET Framework 4.5 
#   
#  ●検索か置換か? 
#  検索 
#   
#  ●説明 
#  「|」「(」「)」が文字として入っているデータから、特定の文字列を抜き出したい。 
#   
#  ●対象データ 
#  area|name (value) 
#   
#  tokyo|yamada benzo (123) 
#  kyoto|namae tarou (21) 
#  saga|shitemo mitukaranai you (7) 
#   
#  ●希望する結果 
#  area, name, value 
#   
#  "tokyo", "yamada benzo", "123" 
#  "kyoto", "namae tarou", "21" 
#  "saga", "shitemo mitukaranai you", "7" 
#   
#  このように取り出したいのですが、どのように書くとよいでしょうか 
# 
# 

文字列の整形(_文字列,_整形された文字列) :-
        split(_文字列,['|','(',')'],L_1),
        各要素の末尾の空白を取り除く(L_1,L_2),
        文字列に整形する(L_2,'',_整形された文字列).

各要素の末尾の空白を取り除く([],[]).
各要素の末尾の空白を取り除く([A|R1],[B|R2]) :-
        末尾の空白を取り除く(A,B),
        各要素の末尾の空白を取り除く(R1,R2).

末尾の空白を取り除く(A,B) :-
        atom_cahrs(A,Chars),
        append(L1,L2,Chars),
        all(L2,' '),
        atomic_list_concat(L1,B),!.
末尾の空白を取り除く(A,A).

文字列に整形する([A],S_1,S) :-
       atomic_list_concat([S_1,'"',A,'"'],S),!.
文字列に整形する([A|R],S_1,S) :-
       atomic_list_concat([S_1,'"',A,'", '],S_2),
       文字列に整形する(R,S_2,S).