トップページに戻る
次の正規表現パズルへ
前の正規表現パズルへ
5-16 Bが続くAが1個で、Bが続かないAが1個
正規表現パズル
Bが続くAが1個で、かつ、
Bが続かないAが1個
の行を検索する。
検索前
検索後
対象データ
A
AB
ABA
ABAXX
XXABA
ABC
BA
BAB
BAA
AAA
ABB
AAXX
AXX
ABAB
ABXXXAX
正規表現
^(?=.*A(?=B))
(?!.*A(?=B).*A(?=B))
(?=.*A(?!B))
(?!.*A(?!B).*A(?!B)).*$
別解
^(?=.*AB)
(?!.*AB.*AB)
(?=.*A(?!B))
(?!.*A(?!B).*A(?!B)).*$
解説
Bが続くAが1個以上ある
かつ
Bが続くAが2個以上ではない
かつ
Bが続かないAが1個以上ある
かつ
Bが続かないAが2個以上ではない
という論理積を求めてます。
以下と同値です。
Bが続くAが1個で、かつ、
Bが続かないAが1個
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
数学の同値命題(連立不等式)
Xは1以上の自然数である。かつ、Xは2以上の自然数でない。 ⇔ X=1
を使ってます。