このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1268979408/755
#  すいません。行頭のスペースが消えておかしくなりましたので書き込み直します。 
#   
#  ●正規表現の使用環境 
#  Java1.6 
#   
#  ●検索か置換か? 
#  検索(Stringクラス String[] split(String regex)メソッドによる文字列分割) 
#   
#  ●説明 
#  CSVファイル中の一行を対象文字列とし、 
#  その文字列中初出の\s*,\s*をデータ区切り子として見なしマッチさせる。 
#  (その前後で文字列を2つに分割) 
#   
#  ●対象データ 
#  aaa,bbb,ccc 
#  aaa, bbb, ccc 
#  aaa , bbb , ccc 
#   
#  ●希望する結果 
#  "aaa"と"bbb,ccc"に分割 
#  "aaa"と"bbb, ccc"に分割 
#  "aaa"と"bbb , ccc"に分割 
#   
#  ●希望しない結果 
#  "aaa"と"bbb"と"ccc"に分割 
#  etc... 
#   
#  自分で考えた(?<^[^,]*)\s*,\s*では 
#  java.util.regex.PatternSyntaxException: Unknown look-behind group near index 8 
#  というような例外が出てしまいました。 
#   
#  よろしくお願いします。 
# 
# 

'CSVファイル中の一行を対象文字列とし、その文字列中初出の\\s*,\\s*をデータ区切り子として見なし分割する'(_csvファイル,_行,_前文字列,_後文字列) :-
        get_lines(_ファイル,Lines),
        append(L0,[Line|R],Lines),
        _行 is L0 + 1,
        'その文字列中初出の\\s*,\\s*をデータ区切り子として見なし分割する'(Line,_前文字列,_後文字列),
        fail.

'その文字列中初出の\\s*,\\s*をデータ区切り子として見なし分割する'(Line,_前文字列,_後文字列) :-
        sub_atom(Line,_,_,_,_前文字列,_区切り文字列,_後文字列,L1,L2,L3),
        append(L0,[','|R],L2),
        all(L0,' '),
        \+((append(L01,[A|_],R),\+(A=' '))),!.