0
다음 코드를 고려하십시오. Java String.replaceAll()은 줄 바꿈을 통해 바꿉니다.
String s = "000000Xabcdefgh\nijkX00000000";
s = s.replaceAll("X.*X", "");
System.out.println(s);
나는
Xabcdefgh\nijkX
가 빈 문자열로 대체 얻을 것으로 예상하지만, 중간에 줄 바꿈이 있기 때문에, 아무것도 교체하지됩니다. 정규식 매칭이 줄 바꿈에서 끝나는 이유는 무엇입니까? 정규식을 매칭 할 때 어떻게 줄 바꿈을 무시할 수 있습니까?
s = s.replaceAll ("X ([^ X] *) X", ""); 그것은 두 개의 X 사이의 모든 것을 대체합니다. – Avaneesh