Java SE 17의 정규식에서 패턴 일치를 포함하는 동작 변경이 있습니다.
이전에는 인터섹션(&&) 뒤에 중첩된 하나 이상의 문자 클래스([]로 쌓임)가 오고 그 다음에 중첩되지 않는 문자 클래가 오는 경우, 일련의 중첩 문자 클래스가 사용되지 않았습니다. Java SE 17에서는 이제 이러한 중첩된 문자 클래스가 사용됩니다. 예를 들어, 정규식이 제공됩니다.
"[A-Z&&[A-Z]0-9]" - 이전에는 [A-Z]가 사용되지 않았습니다.
규칙 플래그는 제공된 정규식에 인터섹션, 중첩된 문자 클래스, 중첩되지 않은 문자 클래스가 순차로 포함되는 다음 메소드를 호출합니다.
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)이 동작 변경에 대한 자세한 정보는 RegEx 패턴 일치에서 인터섹션(&&) 연산자 다음에 문자 클래스가 유실됨을 참조하십시오.