トップページに戻る    次の正規表現パズルへ    前の正規表現パズルへ

6-6 AとBを1対1の対応で消去

正規表現パズル

連続した置換を使って
AとBを1対1の対応で消去する。

置換前


置換後


対象データ

AABB
AB
AAABB
ABBA
AAAABBBB
AAAABBBA
XXXX
BBXXA
BBXXAA
BXXA
ABXXA


正規表現

([AB])(.*)(?!\1)[AB]
を
\2
に置換を繰り返す


解説

否定先読みを使って、文字クラスでの集合演算(差集合)を行ってます。

3-29  文字クラスの集合演算(差集合)を模倣