このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1268979408/417
#  ●正規表現の使用環境 
#  秀丸 8.0.2 b5 
#   
#  ●検索か置換か? 
#  検索 
#   
#  ●説明 
#  条件にマッチする行を指定数だけ抽出する 
#   
#  ●対象データ 
#  a hogehoge1 
#  b hogehoge2 
#  c hogehoge3 
#  a hogehoge4 
#  a hogehoge5 
#  c hogehoge6 
#  a hogehoge7 
#  b hogehoge8 
#   
#  ●希望する結果 
#  "a " で始まる行を 3 つだけ表示させる 
#  a hogehoge1 
#  a hogehoge4 
#  a hogehoge5 
#   
#  宜しくお願いします。 
# 
%
%  3つだけと言う場合、3つ未満だった時どうするか。failにするなら2引数の方の第一節を削除する。
%

'"a " で始まる行を 3 つだけ表示させる'(Lines) :-
       '"a " で始まる行を 3 つだけ表示させる'([_,_,_],Lines).

'"a " で始まる行を 3 つだけ表示させる'(_,[]) :- !.
'"a " で始まる行を 3 つだけ表示させる'([],_) :- !.
'"a " で始まる行を 3 つだけ表示させる'([_|Ln],[Line|R]) :-
        sub_atom(Line,0,_,_,'a '),
        write_fromatted('%t\n',[Line]),
        '"a " で始まる行を 3 つだけ表示させる'(Ln,R),!.
'"a " で始まる行を 3 つだけ表示させる'(Ln,[_|R]) :-
        '"a " で始まる行を 3 つだけ表示させる'(Ln,R).