我正在努力构建一个正则表达式。
匹配规则:
- 必须包含 EN 字符串
- 字符串必须在括号之间
- 在开始的括号中,必须有一个!
- 字符串可以在圆括号内的任何位置
- 如果 EN 字符串存在于括号外,则不能匹配
与 RegEx 匹配的字符串可以具有以下格式,以及预期的相应答案:
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));
}
我尝试了各种方法,但我对 RegEx 知之甚少,所以我最终陷入了困境,无处可去。有人能帮我吗?