このディレクトリの索引

# 出典 :: 正規表現道場 #494 # 文字xが連続して10個以上である場合にマッチさせるのに 文字xが連続して10個以上である場合にマッチさせる(_文字列,_前文字列,_適合文字列,_後文字列) :- 副文字列(_文字列,_前文字列,_適合文字列,_後文字列), '文字xが連続して10個以上、前文字列の最後の文字はxではなく、後文字列の最初の文字もxではない'(_文字列,_前文字列,_適合文字列,_後文字列). 副文字列(_文字列,_前文字列,_副文字列,_後文字列) :- atom_concat(_前文字列,_残り文字列,_文字列), atom_concat(_副文字列,_後文字列,_残り文字列). '文字xが連続して10個以上、前文字列の最後の文字はxではなく、後文字列の最初の文字もxではない'(_文字列,_前文字列,_適合文字列,_後文字列) :- '文字xが連続して10個以上、'(_適合文字列), '前文字列の最後の文字はxではなく、後文字列の最初の文字もxではない'(_前文字列,_後文字列). '文字xが連続して10個以上、'(_適合文字列) :- 文字xが連続して(_適合文字列), '10個以上'(_適合文字列). 文字xが連続して(_適合文字列) :- forall(sub_atom(_適合文字列,_,1,_,_文字),_文字 = x). '10個以上'(_適合文字列) :- atom_length(_適合文字列,_連続文字列長), _連続文字列長 >= 10. '前文字列の最後の文字はxではなく、後文字列の最初の文字もxではない'(_前文字列,_後文字列) :- '前文字列の最後の文字はxではなく、'(_前文字列), '後文字列の最初の文字もxではない'(_後文字列). '前文字列の最後の文字はxではなく、'(_前文字列) :- \+('前文字列の最後の文字はx'(_前文字列)). '前文字列の最後の文字はx'(_前文字列) :- sub_atom(_前文字列,_,1,0,x). '後文字列の最初の文字もxではない'(_後文字列) :- \+('後文字列の最初の文字もx'(_後文字列)). '後文字列の最初の文字もx'(_後文字列) :- sub_atom(_後文字列,0,1,_,x).