我想测试一个正则表达式在 Java 1.8.0_241 中是否有效
public static boolean isRegExpValid(String regExp) {
try {
Pattern.compile(regExp);
return true;
} catch (PatternSyntaxException e) {
return false;
}
}
在这里,我正在测试一个三位数的正确正则表达式和一个不正确的正则表达式。
@Test
public void testValidRegexp() {
assertTrue(isRegExpValid("\\d{3}"));
}
@Test
public void testInvalidRegexp() {
assertFalse(isRegExpValid("{3}"));
}
为什么我的第二次测试testInvalidRegexp
失败了?isRegExpValid("{3}")
应该返回 false,但返回 true。