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

Java 正则表达式在某些情况下无法正常工作,java,regex,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; } 在某些情况下,例如对于()我做错了什么?您需要在角色类中转义-,或者将其结束 使用: 否则,您将创建一个从'到的字符范围

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

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

在某些情况下,例如对于
()
我做错了什么?

您需要在角色类中转义
-
,或者将其结束

使用:

否则,您将创建一个从
'
的字符范围,该范围还包括
()*+,

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