不要用“前缀不是/abc ,或者/bcd, 或者/efg 或者/ddy”是正确的而是反过来凡是“前缀是/abc ,或者/bcd, 或者/efg 或者/ddy”,是错误的也就是不要str.matches(sth),而是
!str.matches("^(/abc)|(/bcd)|(/efg)|(/ddy)");
!str.matches("^(/abc)|(/bcd)|(/efg)|(/ddy)");
解决方案 »
- struts2发布到was5.1的出现 dojo 未定义!
- 数据库单例的一个问题,一直报错,希望大家抽空帮我看看。谢谢
- 会用quartz框架进来一下
- 100分求解在tomcat上成功发布的structs工程在weblogic上部署失败啊!
- hibernate的级联删除用的多吗?大家是自己写代码维护级联删除,还是在配置文件??
- 用过hsql的朋友请进,如何自己写一个java类来达到 自动启动hsql数据库啊,我们平时用的是run.bat
- 谁有SpringMVC在Controller中省市联动的例子给我个
- Spring关于bean id 的问题
- 望高人推荐纯java的工作流系统,高分回报!
- 拜山头,28分求购好玩有趣的java入门教材(电子版,附下载地址)
- 怎样利用Axis,Tomcat在Eclipse平台上部署WebService啊,急?
- 如何把234:23:24转化成[h]:mm:ss
反正我的意思就是倒过来思考问题
public static final Pattern PATTERN = Pattern.compile("(?!/abc|/bcd).*");
public static boolean match(String str) {
Matcher matcher = PATTERN.matcher(str);
return matcher.matches();
} public static void main(String[] args) throws Exception {
System.out.println(match("/abcxyz"));
System.out.println(match("/abc"));
System.out.println(match("/bcd"));
System.out.println(match("/xyz"));
System.out.println(match("abc"));
System.out.println(match("/abcd"));
System.out.println(match("/ab"));
}
^(?!/abc|/bcd)或^(?!/abc|/bcd).*
但是不适用结尾的测试。