このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1340383120/296
#  ●正規表現の使用環境  
#  C# 
#   
#  ●検索か置換か?  
#  検索  
#   
#  ●説明  
#  タグの外にある文字列を順に取り出したい 
#   
#  ●対象データ  
#  <hoge><hoge></hoge>あああ<hoge><hoge></hoge>いいい<hoge></hoge>ううう<hoge><hoge>・・・ 
#   
#  ●希望する結果 
#  while (m.Success) 
#  の繰り返しの中であああ、いいい、ううう・・・と順に取り出していきたい 
#   
#  よろしくお願いします。 
# 
# 

タグの外にある文字列を順に取り出したい(_文字列,_タグの外にある文字列) :-
        atom_chars(_文字列,Chars),
        タグの外にある文字列を順に取り出したい(Chars,[],_タグの外にある文字列).

タグの外にある文字列を順に取り出したい([],L,_タグの外にある文字列) :-
        \+(L=[]),
        atom_chars(_タグの外にある文字列,L).
タグの外にある文字列を順に取り出したい(Chars,L,_タグの外にある文字列) :-
        タグを読み飛ばす(Chars,_残り文字ならび),
        atom_chars(_タグの外にある文字列,L).
タグの外にある文字列を順に取り出したい([A|R],L,_タグの外にある文字列) :-
        append(L,[A],L2),
        タグの外にある文字列を順に取り出したい(R,L2,_タグの外にある文字列).

タグを読み飛ばす(Chars,_残り文字ならび) :-
        タグで始まっている(Chars,_タグ,_終了タグ,_タグの後の文字ならび),
        append(_,_終了タグ,_残り文字ならび,_タグの後文字ならび),!.

タグで始まっている(Chars,_タグ,_終了タグ,_タグの後の文字ならび) :-
        append(['<'|R1],['>'|_タグの後の文字ならび],Chars),
        \+(member('<',R1)),
        \+(member('>',R1)),
        append(['<','/'|R1],['>'],_終了タグ),!.