このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/php/1168450843/102
#  VB.NETで正規表現を書いています。 
#  条件としては、「A0123」のように、先頭がアルファベットのAでその他が数字4桁という正規表現と、 
#  「01234」のような数字5桁という二種類のどちらかにマッチする正規表現を作っています。 
#  正規表現は苦手で困っています。 
#  どなたかご教授下さい。 
#  よろしくお願いします。 
# 

'「A0123」のように、先頭がアルファベットのAでその他が数字4桁か「01234」のような数字5桁という二種類のどちらか'(_文字列,_前文字列,_適合文字列,_後文字列) :-
        sub_atom(_文字列,St,5,R,_前文字列,_適合文字列,_後文字列,L1,L2,L3),
        L2=['A'|R1]),
        すべてが数字(R2).        
'「A0123」のように、先頭がアルファベットのAでその他が数字4桁か「01234」のような数字5桁という二種類のどちらか'(_文字列,_前文字列,_適合文字列,_後文字列) :-
        sub_atom(_文字列,St,5,R,_前文字列,_適合文字列,_後文字列,L1,L2,L3),
        すべてが数字(L2).

すべてが数字([]) :- !.
すべてが数字([A|R]) :-
        append(_,[A|_],['0','1','2','3','4','5','6','7','8','9']),
        すべてが数字(R).