첫 번째 인수가 하나의 정규식 메타 문자 인수인 String.replaceAll() 또는 String.split() 호출을 보고합니다.

정규식 메타 문자는 .$|()[{^?*+\ 중 하나입니다. 이러한 문자는 정규 표현식에서 특별한 의미를 가집니다. 예를 들어, 점은 모든 문자에 일치하기 때문에 "ab.cd".replaceAll(".", "-")을 호출하면 "-----"이 생성됩니다. 대신 이스케이프된 배리언트 \\."가 의도되었을 가능성이 높습니다.

File.separator를 정규식으로 사용하는 경우도 보고됩니다. File.separator에는 플랫폼별 값이 있습니다. Linux 및 Mac에서는 /와 같지만 Windows에서는 \와 같습니다. 이는 유효한 정규 표현식이 아니므로 이러한 코드는 이식 가능하지 않습니다.

예:


  s.replaceAll(".", "-");

빠른 수정을 적용한 후:


  s.replaceAll("\\.", "-");