자바 정규식 패턴과 문장을 완전히 일치시키고 싶지만 일부 문장의 경우에는 잘못 입력하게됩니다. 왜 이런거야? (편의상, 내 복잡한 정규식을 사용하지만, 그냥하지 않습니다 "*.")Java 정규식은 항상 실패합니다.
System.out.println(Pattern.matches(".*", "asdf"));
System.out.println(Pattern.matches(".*", "[11:04:34] <@Aimbotter> 1 more thing"));
System.out.println(Pattern.matches(".*", "[11:04:35] <@Aimbotter> Dialogue: 0,0:00:00.00,0:00:00.00,Default,{Orginal LV,0000,0000,0000,,[???]??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????} "));
System.out.println(Pattern.matches(".*", "[11:04:35] <@Aimbotter> Dialogue: 0,0:00:00.00,0:00:00.00,Default,{Orginal LV,0000,0000,0000,,[???]????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????} "));
출력 : 네 번째 문장 사이에 u0085을 \ 10 개 유니 코드 제어 문자를 포함
true
true
true
false
주 물음표는 일반 글꼴로 표시되지 않습니다. 세 번째와 네 번째 문장은 실제로 동일한 양의 문자를 포함합니다!
... –
이 http://www.fileformat.info/info/unicode/char (악화 될 것 /85/index.htm) – rurouni
... @ tchrist는 곧 Java 정규 표현식 엔진이 얼마나 고장 났는지에 대해 모두 알려줄 것입니다. – aioobe