我正在尝试实现一种方法来接受字符串,如果包含以下内容,则解析为true:后面跟有“(”,“ 007”和“)”。
换句话说:*(*007*)*
我当前的模式如下所示:
Pattern.compile("\\*\\s\\(\\s\\*\\s(0\\s0\\s7\\s)\\*\\s\\)\\*");
但是,它在我的229个junit测试用例中约有84个失败
最佳答案
难道就这么简单吗
.*\(.*007.*\).*
See it in action。
为Java逃脱
.compile(".*\\(.*007.*\\).*")
一些测试用例:
String pattern = ".*\\(.*007.*\\).*";
Assert.assertFalse("(006)".matches(pattern));
Assert.assertFalse("007".matches(pattern));
Assert.assertTrue("hi(this007is)me".matches(pattern));
Assert.assertTrue("hi(007)".matches(pattern));