【发布时间】:2014-12-14 11:00:23
【问题描述】:
我有以下 Java 代码:
public static void main(String[] args) {
String var = "ROOT_CONTEXT_MATCHER";
boolean matches = var.matches("/[A-Z][a-zA-Z0-9_]*/");
System.out.println("The value of 'matches' is: " + matches);
}
打印:The value of 'matches' is: false
为什么我的var 不匹配正则表达式?如果我正确读取我的正则表达式,它匹配任何字符串:
- 以大写字符 A-Z 开头;那么
- 由零个或多个组成:
- 小写字符 a-z;或
- 大写字符 A-Z;或
- 数字 0-9;或
- 下划线
字符串“ROOT_CONTEXT_MATCHER”:
- 以 A-Z 字符开头;和
- 由 19 个后续字符组成,全部为大写字母 A-Z 或下划线
这是怎么回事?!?
【问题讨论】:
-
你的字符串不是以
/开头或结尾的