このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1323566370/921
#  ●正規表現の使用環境 
#  鬼車 
#   
#  ●検索か置換か? 
#  検索 
#   
#  ●対象データ 
#  あああかか 
#  うううきき 
#  いいいくく 
#   
#  ●希望する結果(あああ いいい うううをマッチさせる & きき くく の文字を含まない) 
#  あああ 
#  (あああ の部分のみマッチ) 
#   
#  ●説明 
#  複数の文字(文字列1)をマッチさせたい、そして 
#  その文字列中で、指定した文字が入ってたとき、その文字(文字列1)はマッチしないということは可能でしょうか。 
#   
#  [例文] 
#  あああかか 
#  うううきき 
#  いいいくく 
#   
# ↓構文はnot使ったりと正規表現と関係無くて申し訳ないですが自分のイメージ的にはこんな感じです。
#  ( (あああ|いいい|ううう) (not (きき|くく)) )
#  
#  この場合、「あああかか(正確には あああ の部分のみ)」がマッチとなり、
#  文字列中に「きき、くく」が文字列に含まれる
#  「うううきき(正確には ううう の部分)」と「いいいくく(正確には いいい の部分)」はマッチさせない感じです。
#  
#  調べた感じですと、否定文を使う形になるとは思いますが、否定文が結構複雑そうで、
#  それに複数の否定を加えるようだとかなり難しいように感じますが、実際に
#  このような正規表現を実現出来るか不安なのですが、実現可能でしょうか。
#  また、もし上記を満たす正規表現が分かる方おりましたら教えて頂ければ幸いです。
#  どうぞよろしくお願い致します。

文字列ならびの検索([_適合文字列|R],_適合文字列) :-
        \+(sub_atom(_適合文字列,_,2,_,きき)),
        \+(sub_atom(_適合文字列,_,2,_,くく)),
        適合文字列(_適合文字列).
文字列ならびの検索([_文字列|R],_適合文字列) :-
        文字列ならびの検索(R,_適合文字列).

適合文字列(_文字列) :-
        sub_atom(_文字列,0,3,_,あああ),!.
適合文字列(_文字列) :-
        sub_atom(_文字列,0,3,_,いいい),!.
適合文字列(_文字列) :-
        sub_atom(_文字列,0,3,_,ううう),!.