Az egyik viselkedésváltozás a Java SE 17 változatban a reguláris kifejezések mintaegyeztetését érinti.
Korábban, amikor egy elágazást egy vagy több beágyazott karakterosztály ([] közé zárva) követett
(&&), amelyet nem beágyazott karakterosztály követett, a beágyazott karakterosztályok
sorozata nem került alkalmazásra. A Java SE 17 változatban ezek a beágyazott karakterosztályok már alkalmazásra kerülnek. Például az alábbi reguláris kifejezés esetében:
"[A-Z&&[A-Z]0-9]" - Az [A-Z] korábban nem került volna alkalmazásra.
A szabály megjelöli azokat a következő metódushívásokat, ahol a megadott reguláris kifejezés olyan elágazást tartalmaz, amelyet egy nem beágyazott karakterosztály előtti beágyazott karakterosztály követ:
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)A viselkedési változással kapcsolatos további információkért lásd: RegEx Pattern Matching Lózis Karakterosztály a metszet után (& &) operátor.