正则表达式的使用 不要用“前缀不是/abc ,或者/bcd, 或者/efg 或者/ddy”是正确的而是反过来凡是“前缀是/abc ,或者/bcd, 或者/efg 或者/ddy”,是错误的也就是不要str.matches(sth),而是!str.matches("^(/abc)|(/bcd)|(/efg)|(/ddy)"); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 sorry那个regex写错了,反正我的意思就是倒过来思考问题 我这个表达式是要写在web.xml中的进行过滤器的配置的,所以只能写成一个表达式 [shine333(enihs) 的例子中,我测试了一下,/abcd是符合的[匹配的],我要的是[/abcd不匹配] 貌似/abcd不匹配阿 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")); } shine333(enihs) 的例子改成如下就可以了:^(?!/abc|/bcd)或^(?!/abc|/bcd).*但是不适用结尾的测试。 <CORBA.h>是什么文件,如何下载 Hql语句不出现错误! 动态二级联动下拉菜单 什么是log4j.properties 怎么配置 struts2的跳转问题???? 求助:框架代码生成工具 Ejb2.0中如何实现定时功能 EJB中的会话bean能否调用另一个已打成jar包的EJB中的实体bean????? 在WIN2000下安装SDK的时候怎么找不到tomcat的目录里的startup.bat文件 Tomcat的ejb配置问题,请帮忙 怎样利用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).*
但是不适用结尾的测试。