Existuje změna chování zahrnující shodu dle vzoru regulárního výrazu v prostředí Java SE 17.
Dříve, když po jedné nebo více vnořených tříd znaků (ohraničených []) byl průnik (&&) následovaný nevnořenou třídou znaků, nebyla posloupnost vnořených tříd znaků použita. V prostředí Java SE 17 jsou nyní tyto vnořené třídy znaků použity. Např. daný regulární výraz:
"[A-Z&&[A-Z]0-9]" - Znaky [A-Z] by se dříve nepoužily.
Pravidlo označí vyvolání volání následujících metod, kde uvedený regulární výraz obsahuje průnik, následovaný vnořenou třídou znaků, za nimiž následuje nevnořená třída znaků:
java.util.regex.Pattern.compile(java.lang.String)java.util.regex.Pattern.compile(java.lang.String, int)java.util.regex.Pattern.matches(java.lang.String, java.lang.CharSequence)java.lang.String.matches(java.lang.String)java.lang.String.replaceAll(java.lang.String, java.lang.String)java.lang.String.replaceFirst(java.lang.String, java.lang.String)java.lang.String.split(java.lang.String)java.lang.String.split(java.lang.String, int)Další informace o této změně chování naleznete v části RegEx Pattern Character Character Class After Intersection (& &) Operator.