【发布时间】:2012-04-03 23:29:54
【问题描述】:
我正在尝试编写一个字符串验证来匹配除 = 之外的任何字符(常规、数字和特殊)。
这是我写的 -
String patternString = "[[^=][\\w\\s\\W]]*";
Pattern p = Pattern.compile(patternString);
Matcher m = p.matcher(str);
if(m.matches())
System.out.println("matches");
else
System.out.println("does not");
但是,它将输入字符串“2009-09/09 12:23:12.5=" 与模式匹配。
如何从模式字符串中排除 =(或任何其他字符)?
【问题讨论】:
-
你想匹配什么? (或不)?只是 [^=]* 将匹配除 '=' 字符之外的任何内容。
-
您不能嵌套字符类。
[[]只是一个由单个字符[组成的字符类。