「fooBAR」などの文字列が与えられた場合、文字列の末尾の大文字 (つまり「BAR」) を次のひねりを加えて一致させたいと考えています。
- 一致には少なくとも 2 文字が含まれている必要があります
- 一致に次のいずれも含めてはなりません: 1D、2D、3D、4D
例:
"fooB" -> ""
"fooBAR" -> "BAR"
"foo64BAR" -> "BAR"
"foo64BR" -> "BR"
"fooDBAR" -> "DBAR"
"foo12BAR" -> "BAR"
"foo1DBAR" -> "BAR"
些細な正規表現
[A-Z][A-Z]+
最後の例は失敗します ("BAR" ではなく "DBAR" を返します)。
などの否定的な後読み
(?<![1-4D])[A-Z][A-Z]+
最後の例も失敗します ("BAR" ではなく "AR" を返します)。
これは簡単なはずですが、私の愛のために解決策を見つけることができません。何か案は?