このディレクトリの索引

# 出典 :: 正規表現 Part8 #176 # 言語:JAVA # 次の例文で、[ ]の部分にひらがなの「ぺ」が27回続く場合にのみマッチする正規表現 # #   ゆうていみやおうきむこうほりいゆうじとりやまあきら[ ] # # 処理対象文字 # ゆうていみやおうきむこうほりいゆうじとりやまあきらぺぺぺぺぺぺぺぺぺぺぺぺ # ゆうていみやおうきむこうほりいゆうじとりやまあきらぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺ # ゆうていみやおうきむこうほりいゆうじとりやまあきらぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺ # # 実行した正規表現 # .*ぺ{27} # # 実行結果 # ゆうていみやおうきむこうほりいゆうじとりやまあきらぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺ # ゆうていみやおうきむこうほりいゆうじとりやまあきらぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺ # # 何で27回以外の「ぺ」が出力されるのか訳ワカメちゃん # # 'ひらがなの「ぺ」が27回続く場合にのみマッチする'(_文字列,_前文字列,_適合文字列,_後文字列) :- '適合文字列はひらがなの「ぺ」が27回続く'(_適合文字列), 副文字列(_文字列,_前文字列,_適合文字列,_後文字列), '前文字列の最後の文字と後文字列の最初の文字は「ぺ」ではない'(_前文字列,_後文字列). '適合文字列はひらがなの「ぺ」が27回続く'(ぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺぺ). '前文字列の最後の文字と後文字列の最初の文字は「ぺ」ではない'(_前文字列,_後文字列) :- '前文字列の最後の文字は「ぺ」ではない'(_前文字列), '後文字列の最初の文字は「ぺ」ではない'(_後文字列). '前文字列の最後の文字は「ぺ」ではない'(_前文字列) :- \+(sub_atom(_前文字列,_,1,0,ぺ)). '後文字列の最初の文字は「ぺ」ではない'(_後文字列) :- \+(sub_atom(_後文字列,0,1,_,ぺ)). 副文字列(_文字列,_前文字列,_副文字列,_後文字列) :- atom_concat(_前文字列,_残り文字列,_文字列), atom_concat(_副文字列,_後文字列,_残り文字列).