このディレクトリの索引

# 出題場所 http://toro.2ch.net/test/read.cgi/tech/1363769640/325 # xyz を含まないものにマッチする正規表現 # # [regexp 60]より # # |fmcat =(retofm <<<'(x+y+z+a)*xyz(x+y+z+a)*'|fmcment) =(retofm <<<'xyz')|fmdeterm|fmmin|fmtore|perl -pe 'y/+/|/; s/a/[^xyz]/g' # |として、 # |([^xyz]|y|z)*x(z([^xyz]|y|z)*x|[^xyz]([^xyz]|y|z)*x|x|yx|y[^xyz]([^xyz]|y|z)*x|yy([^xyz]|y|z)*x)*yz # # 遷移図は # # x # <-----------+ # [^x] | x | # <----+ <----+ | # | | | | | # \/ x \/ y | z # 0 ----> 1 ----> 2 ----> 3(DEAD) # | | | # | [^xy] | | # <----------+ | # | [^xz] | # <--------------------- # # 「xyz を含まない文字列」の答は、 # # ([^x]|x(y?x)*([^xy]|y[^xz]))*(x(y?x)*x?)? # # (x(y?x)*x?)? の部分はこの場合に限り (x|y)* で代用できるかな # 後、つるかめ算の様に「勘」で書いたのが # # [^x]*(x+(y|y[^xz][^x]*|[^xy][^x]*))* # # ですがちょっと自信無し # 'xyz を含まないものにマッチする'(_文字列) :- 'xyz を含まないもの'(_文字列). 'xyz を含まないもの'(_文字列) :- \+('xyz を含む'(_文字列)). 'xyz を含む'(_文字列) :- sub_atom(_文字列,_,_,_,xyz).