src/share/classes/java/util/regex/UnicodeProp.java
Print this page
*** 179,197 ****
WORD {
// \p{alpha}
// \p{gc=Mark}
// \p{digit}
// \p{gc=Connector_Punctuation}
public boolean is(int ch) {
return ALPHABETIC.is(ch) ||
((((1 << Character.NON_SPACING_MARK) |
(1 << Character.ENCLOSING_MARK) |
(1 << Character.COMBINING_SPACING_MARK) |
(1 << Character.DECIMAL_DIGIT_NUMBER) |
(1 << Character.CONNECTOR_PUNCTUATION)) >> Character.getType(ch)) & 1)
! != 0;
}
};
private final static HashMap<String, String> posix = new HashMap<>();
private final static HashMap<String, String> aliases = new HashMap<>();
--- 179,206 ----
WORD {
// \p{alpha}
// \p{gc=Mark}
// \p{digit}
// \p{gc=Connector_Punctuation}
+ // \p{Join_Control} 200C..200D
public boolean is(int ch) {
return ALPHABETIC.is(ch) ||
((((1 << Character.NON_SPACING_MARK) |
(1 << Character.ENCLOSING_MARK) |
(1 << Character.COMBINING_SPACING_MARK) |
(1 << Character.DECIMAL_DIGIT_NUMBER) |
(1 << Character.CONNECTOR_PUNCTUATION)) >> Character.getType(ch)) & 1)
! != 0 ||
! JOIN_CONTROL.is(ch);
! }
! },
!
! JOIN_CONTROL {
! // 200C..200D PropList.txt:Join_Control
! public boolean is(int ch) {
! return (ch == 0x200C || ch == 0x200D);
}
};
private final static HashMap<String, String> posix = new HashMap<>();
private final static HashMap<String, String> aliases = new HashMap<>();
*** 210,219 ****
--- 219,229 ----
posix.put("PRINT", "PRINT");
aliases.put("WHITESPACE", "WHITE_SPACE");
aliases.put("HEXDIGIT","HEX_DIGIT");
aliases.put("NONCHARACTERCODEPOINT", "NONCHARACTER_CODE_POINT");
+ aliases.put("JOINCONTROL", "JOIN_CONTROL");
}
public static UnicodeProp forName(String propName) {
propName = propName.toUpperCase(Locale.ENGLISH);
String alias = aliases.get(propName);