このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1301067486/681
#  0パディングされてない1〜3桁の数字のみにヒットさせる正規表現ってどのように書けますか? 
#   
#  ヒットする例 
#  0 
#  9 
#  10 
#  19 
#  99 
#  100 
#  999 
#   
#  ヒットさせない例 
#  00 
#  000 
#  09 
#  010 
#  019 
#  099 
#  0100 
#   
# 

'0パディングされてない1〜3桁の数字のみにヒットさせる'(_文字列,_前文字列,_適合文字列,_後文字列) :-
        sub_atom(_文字列,_,_,_,_前文字列_1,_適合文字列_1,_後文字列_1,L1,L2,L3),
        for(3,Len,1),
        length(L2,Len),
        全て数字(L2),
        \+((last(L1,C1),数字(C1))),
        L2 = [A2|R2],
        ((\+(A2='0');R2=[])),
        '0パディングされてない1〜3桁の数字のみにヒットさせる'(_文字列,_前文字列_1,_適合文字列_1,_後文字列_1,_前文字列,_適合文字列,_後文字列).

'0パディングされてない1〜3桁の数字のみにヒットさせる'(_文字列,_前文字列,_適合文字列,_後文字列,_前文字列,_適合文字列,_後文字列).
'0パディングされてない1〜3桁の数字のみにヒットさせる'(_文字列,_前文字列_1,_適合文字列_1,_後文字列_1,_前文字列,_適合文字列,_後文字列) :-
        '0パディングされてない1〜3桁の数字のみにヒットさせる'(_後文字列,_前文字列_2,_適合文字列,_後文字列),
        append(_前文字列_1,_適合文字列_1,_前文字列_2,_前文字列).

全て数字([]).
全て数字([A|R]) :-
        A @>= '0',
        A @=< '9',
        全て数字(R).