正規表現は、長さが 2 ~ 3 文字で、A と B のみを含むすべての文字列と一致する必要があります ([AB]{2,3})。ただし、最大 1 つの B を含む文字列と一致する必要もあります。
許可された文字列:
ああ ああああああああああああああああああああああああああああああああああああああああ ああ ああ ああ
あああああ
禁止されている:
ABB <-- 2 つの B
単一の正規表現でこれを達成することは可能ですか? 私はそのようなことを試しました:
([AB]{2,3})(?<=([B]*A[B]*){2})
ただし、後読みグループの可変長をサポートしていないため、Java では機能しません。
スレッド「メイン」での例外 java.util.regex.PatternSyntaxException: 後読みグループには、インデックス 28 付近に明らかな最大長がありません ([AB]{2,3})(?<=([B]*A[B ]*){2})
助言がありますか?