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

2-29 指定複数文字列のみの行を検索(共通文字あり)その2

正規表現パズル

行ごとで、
文字列ABCと
文字列BAのみの行を検索する。
ちなみに、文字列ABCと文字列BAに共通文字はあります。

例1
文字列BAABCは、文字列BAと文字列ABCのみです。
例2
文字列BABCは、文字列BAと文字列ABCのみです。(Aが、BAとABCの両方の文字Aを兼ねてます)

検索前


検索後


対象データ

BAB
ABCABA
ABA
BABC
BA
ABC
BABABC


正規表現

^(A(?=BC)|(?<=A)B(?=C)|(?<=AB)C
 |B(?=A)|(?<=B)A)*$


解説

1文字ごとに、肯定先読みと肯定戻り読みを使い、
選択で論理和を求めてます。