1
이 바보 같은 질문이 될 수도 있지만정규식 패턴에서 백 슬래시를 이스케이프 처리해야합니까?
$text = "ab cd";
$text = preg_replace("/\s+/", "", $text);
echo $text;
출력 abcd
을 예상대로 다음과 같은 코드가 작동하는 이유는 문제가 이해가있다.
\s
의 백 슬래시를 정규 표현식 내에서 문자 그대로 가져 오면 안됩니까?
+1. 이스케이프 시퀀스로 PHP에서 선택하는 일부 문자조차도 이스케이프 된 문자가 정규 표현식 내부에서 유효하기 때문에 이중 이스케이프 처리 할 필요가 없다는 것을 알게되면 정말 혼란스러워집니다. 그래서 당신은'\ n'으로 도망 갈 수 있습니다, 아니면'\\ n'을 벗어날 수 있습니다. 하지만 실제로 나쁜 상황은 검색 할 문자열에 실제 백 슬래시가있을 때입니다. Windows 네트워크 경로 ('\\ nas \ folder \ etc \ ')와 일치 시키거나 JSON 문자열에서 이스케이프 된 문자를 찾으십시오. 그러면 엄청난 백 슬래시로 끝날 것입니다. 재미있는 재미. – Spudley