正規表現を構築するのに苦労しています。
マッチングのルール:
- EN文字列を含める必要があります
- 文字列は括弧で囲まれている必要があります
- 開始括弧には ! が必要です。
- 文字列は括弧内のどこにでも置くことができます
- EN 文字列が括弧の外側に存在する場合、一致してはなりません
正規表現に一致する文字列は、予想されるそれぞれの回答とともに、次の形式を持つことができます。
public void testRegexToMatchContextToIgnoreFromString() {
String regex = "\\([^\\(].?[EN+].?\\)";
assertTrue("!(EN)CLIENT".matches(regex));
assertTrue("!(EN,PR)CLIENT".matches(regex));
assertTrue("!(PR,EN)CLIENT".matches(regex));
assertFalse("!(PR)CLIENT".matches(regex));
assertFalse("!(CO,PR)CLIENT".matches(regex));
}
いろいろやってみましたが、正規表現がよくわからず、ぐるぐるまわってしまいました。誰かが私を助けることができますか?