このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1268979408/724
#  2回以上続く改行だけ検索したいのですが、どうやっても1回のみの改行も検索してしまいます。 
#  \r\nを2回ってだけではだめなようで、解決策はありますか? 
# 
# 

'2回以上続く改行だけ検索したい'(_文字列,_検索語より前の文字列,_検索語,_検索語より後の文字列) :-
        atom_chars(_文字列,Chars),
        append(L0,['\n'|R],Chars),
        append(L1,R1,R),
        \+(R1=['\n'|_]),
        all(L1,'\n'),
        concat_atom(L0,_検索語より前の文字列),
        concat_atom(L1,_検索語),
        concat_atom(R1,_検索語より後の文字列).
'2回以上続く改行だけ検索したい'(_文字列,_検索語より前の文字列,_検索語,_検索語より後の文字列) :-
        atom_chars(_文字列,Chars),
        append(L0,['\n'|R],Chars),
        append(L1,R1,R),
        \+(R1=['\n'|_]),
        all(L1,'\n'),
        concat_atom(L0,_),
        concat_atom(L1,_),
        concat_atom(R1,_検索語より後の文字列_1),
        '2回以上続く改行だけ検索したい'(_検索語より後の文字列_1,_検索語より前の文字列,_検索語,_検索語より後の文字列).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

'2回以上続く改行だけ検索したい'(Lines,L0,[A|L1],R) :-
        append(L00,L1,R,Lines),
        all(L1,''),
        \+(R=[''|_]),
        append(L0,[A],L00).
'2回以上続く改行だけ検索したい'(Lines,L0,L1,L2) :-
        append(L00_1,L1_1,R_1,Lines),
        all(L1_1,''),
        \+(R_1=[''|_]),
        append(L0_1,[Line],L00_1),
        '2回以上続く改行だけ検索したい'(R,L0,L1,L2).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

'2回以上続く改行だけ検索したい'(Chars,L0,['\n','\n'],R) :-
        append(L0,L1,L2,Chars),
        \+(last(L0,'\n')),
        \+(list_nth(1,L2,'\n')).
'2回以上続く改行だけ検索したい'(Chars,L0,L1,L2) :-
        append(L00,L11,L22,Chars),
        all(L11,'\n'),
        \+(last(L00,'\n')),
        \+(list_nth(1,L22,'\n')),
        '2回以上続く改行だけ検索したい'(L22,L0,L1,L2).