- 127 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 16:48:55 ]
- >>125
% Prolog では正規表現は使わないので、その代わり以下のような述語を作っておく。 探索目標を真とする副文字列を置換文字列に置換(_文字列,_対象文字ならび,_探索目標,_置換文字列,X) :- findall(S,探索目標を真とする副文字列を置換文字列に置換の一(_文字列,_対象文字ならび,_探索目標,_置換文字列,S),X). 探索目標を真とする副文字列を置換文字列に置換の一(_文字列,_対象文字ならび,_探索目標,_置換文字列,S) :- atom_chars(_文字列,Chars), 探索目標を真とする文字ならびを得る(Chars,L1,_対象文字ならび,_探索目標,L3), atom_chars(A1,L1), atom_chars(A3,L3), concat_atom([A1,_置換文字列,A3],S). 探索目標を真とする文字ならびを得る([],L1,L2,_探索目標,L3) :- !,fail. 探索目標を真とする文字ならびを得る(L,L1,L2,_探索目標,L3) :- append(L1,L2,L3,L), _探索目標. 探索目標を真とする文字ならびを得る(L,L1,L2,_探索目標,X) :- 変数指定項複写(_探索目標,_探索目標2,[L2],[L4]), append(L11,L2,31,L), _探索目標, 探索目標を真とする文字ならびを得る(L31,L1,L4,_探索目標2,X).
|

|