正则表达式在某些情况下无法正常工作

时间:2012-10-23 08:32:09

标签: java regex

asRuleValue为[^0-9a-zA-Z"'-.#, ]

Pattern classPattern = Pattern.compile(asRuleValue, Pattern.CASE_INSENSITIVE);
Matcher m = classPattern.matcher(asValue);
if (!m.find())
{
   lbFlag = true;
}

在某些情况下无效,例如()我在这里做错了什么?

1 个答案:

答案 0 :(得分:9)

您需要转义角色类中的-或将其放在最后。

使用:

[^0-9a-zA-Z"'.#, -]

否则您要创建的字符范围从'.,其中也包含()*+,