>  Q&A  >  본문

() 안의 일치 항목이 배열에 저장됩니다. 문제는 $1과 \\1의 차이점이 무엇입니까?

ubb 텍스트 편집, preg_replace($pattern,$replace,$stirng);

争渡争渡2489일 전1654

모든 응답(2)나는 대답할 것이다

  •  

     2018-01-29 15:54:48

    설명서에서 \1과 $1이 같다고 읽었습니다.

    설명서의 원래 단어: replacement에는 역참조 \n 또는 $n이 포함될 수 있으며, 문법적으로 후자가 선호됩니다 . 각 참조는 일치하는 n번째 캡처 하위 그룹에서 캡처한 텍스트로 대체됩니다. n은 0-99일 수 있으며, \0 및 $0은 텍스트와 일치하는 완전한 패턴을 나타냅니다. 하위 그룹 캡처의 일련 번호 계산 방법은 캡처 하위 그룹을 나타내는 왼쪽 대괄호가 1부터 시작하여 왼쪽에서 오른쪽으로 계산됩니다. 백슬래시를 대신 사용하려면 4("\\", 번역 주석을 사용해야 합니다. 이는 먼저 PHP 문자열이므로 이스케이프 후 2개가 되고 정규식 엔진에서 원본으로 간주합니다. 백슬래시).

    회신하다
    0
  •  

    차이점에 대해 이야기하면 다음과 같습니다. preg_replace() \11 또는 \1 1을 표현하려는지 알 수 없습니다(두 번째 1은 문자열 1입니다). 따라서 ${1}1을 사용하면 preg_replace()가 첫 번째 1이 역참조이고 두 번째 1이 역참조 바로 다음에 오는 원본 텍스트의 1이라는 것을 알 수 있습니다.

      · 2018-01-29 16:00:36
  • 취소회신하다