連続した置換を使って AとBを1対1の対応で消去する。 置換前 置換後
AABB AB AAABB ABBA AAAABBBB AAAABBBA XXXX BBXXA BBXXAA BXXA ABXXA
([AB])(.*)(?!\1)[AB] を \2 に置換を繰り返す
否定先読みを使って、文字クラスでの集合演算(差集合)を行ってます。 3-29 文字クラスの集合演算(差集合)を模倣