このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1312201995/111
#   
#  [1] 授業単元: プログラミング演習(発展課題) 
#  [2]   
#  下の配列から"CGUU"をギャップ("-")を含んでいても検出できる正規表現を作成せよ。 
#   
#  CCAGCUCCC-G---U--UGGG 
#  

'文字列から"CGUU"をギャップ("-")を含んでいても検出する'(_文字列,_前文字列,_適合文字列,_後文字列) :-
        sub_atom(_文字列,_,_,_,_前文字列,_適合文字列,_後文字列,L1,L2,L3),
        '"CGUU"をギャップ("-")を含んでいても'(['C','G','U','U'],L2).
'文字列から"CGUU"をギャップ("-")を含んでいても検出する'(_文字列,_前文字列,_適合文字列,_後文字列) :-
        sub_atom(_文字列,_,_,_,S1,S2,S3,_,L2,_),
        '"CGUU"をギャップ("-")を含んでいても'(['C','G','U','U'],L2),
        '文字列から"CGUU"をギャップ("-")を含んでいても検出する'(S3,_前文字列2,_適合文字列,_後文字列),
        concat_atom([S1,S2,_前文字列2],_前文字列).

'"CGUU"をギャップ("-")を含んでいても'([],_) :- !.
'"CGUU"をギャップ("-")を含んでいても'([A|R1],[A|R2]) :-
        '"CGUU"をギャップ("-")を含んでいても'(R1,R2).
'"CGUU"をギャップ("-")を含んでいても'([A|R1],[-|R2]) :-
        '"CGUU"をギャップ("-")を含んでいても'(R1,R2).
'"CGUU"をギャップ("-")を含んでいても'([A|R1],[B|R2]) :-
        \+(A=B),!,fail.