我正在挨打以建立一个正则表达式。
匹配规则:
与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了解甚少,所以我最终进入了圈子而没有到达任何地方。 有人能帮助我吗?
答案 0 :(得分:2)
这应符合您的要求(我已经测试过你的测试用例):
String regex = ".*!\\(.*EN.*\\).*";
说明:任何字符(。*)的前零个或多个。然后'!(',然后是任何字符的零或更多,然后'EN',然后是任何字符的零或更多,然后是右括号,再加上任何字符的零或更多。
答案 1 :(得分:0)