--- a/jdk/src/share/classes/java/util/regex/Pattern.java Wed Mar 04 09:26:41 2009 -0800
+++ b/jdk/src/share/classes/java/util/regex/Pattern.java Fri Mar 20 16:22:59 2009 -0700
@@ -2567,7 +2567,8 @@
break;
case '<': // (?<xxx) look behind
ch = read();
- if (Character.isLetter(ch)) { // named captured group
+ if (ASCII.isLower(ch) || ASCII.isUpper(ch) || ASCII.isDigit(ch)) {
+ // named captured group
String name = groupname(ch);
if (namedGroups().containsKey(name))
throw error("Named capturing group <" + name