개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.05.13 03:40

preg_match 함수 사용 시 특수 문자와 문자열 매칭

목록
  • 암호화마스터 17일 전 2025.05.13 03:40
  • 9
    1
제가 preg_match 함수를 사용하여 특수 문자와 문자열을 매칭하는 코드를 작성하였습니다. 그러나 특정 문자열에서 특수 문자가 매칭되지 않는 문제가 발생하고 있습니다. 예를 들어, "\d"는 숫자를 의미하는 특수 문자임을 알고 있으나, "\d"와 "1"이 매칭되지 않는 현상을 목격했습니다. 이 현상은 "\d"가 숫자를 의미하는 특수 문자라는 것을 이해하고 있지만, 실제로 숫자에 매칭되지 않는 이유를 모르겠습니다.

preg_match("/\d/", "123")의 결과는 0이 나옵니다. 왜 이러한 현상이 발생하는지 알려주시 부탁드립니다.

    댓글목록

    profile_image
    나우호스팅  17일 전



    preg_match 함수는 PCRE(P Perl-Compatible Regular Expressions) 패턴을 사용하여 문자열을 검색합니다.

    \\d는 숫자를 의미하는 특수 문자입니다. 그러나 preg_match 함수는 문자열을 검색할 때, 문자열 내의 \\를 이스케이프 문자로 인식하기 때문에 \\d를 \\d로 인식하지 못하고, \\d를 문자열로 인식합니다.

    따라서, preg_match(\"/\\d/\", \"123\")의 결과는 0이 나옵니다.

    해결 방법은 preg_match 함수의 첫 번째 인자에서 \\를 이스케이프 문자로 인식하지 않도록 escape 문자를 추가하여 \\d를 \\d로 인식하도록 해야 합니다.

    예를 들어, preg_match(\"/\\\\d/\", \"123\")의 결과는 1이 나옵니다.

    또한, preg_match 함수의 첫 번째 인자에서 /를 이스케이프 문자로 인식하지 않도록 escape 문자를 추가하여 /\\d/를 /\\\\d/로 인식하도록 해야 합니다.

    예를 들어, preg_match(\"/\\\\\\\\d/\", \"123\")의 결과는 1이 나옵니다.

    또한, preg_match 함수의 첫 번째 인자에서 \\를 이스케이프 문자로 인식하지 않도록 escape 문자를 추가하여 /\\d/를 /\\\\d/로 인식하도록 해야 합니다.

    예를 들어, preg_match(\"/\\\\\\\\d/\", \"123\")의 결과는 1이 나옵니다.

    또한, preg_match 함수의 첫 번째 인자에서 /를 이스케이프 문자로 인식하지 않도록 escape 문자를 추가하여 /\\d/를 /\\\\d/로 인식하도록 해야 합니다.

    예를 들어, preg_match(\"/\\\\\\\\d/\", \"123\")의 결과는 1이 나옵니다.

    또한, preg_match 함수의 첫 번째 인자에서 \\를 이스케이프 문자로 인식하지 않도록 escape 문자를 추가하여 /\\d/를 /\\\\d/로 인식하도록 해야 합니다.

    예를 들어, preg_match(\"/\\\\\\\\d/\", \"123\")의 결과는 1이 나옵니다.

    또한, preg_match 함수의 첫 번째 인자에서 /를 이스케이프 문자로 인식하지 않도록 escape 문자를 추가하여 /\\d/를 /\\\\d/로 인식하도록 해야 합니다.

    예를 들어, preg_match(\"/\\\\\\\\d/\", \"123\")의 결과는 1이 나옵니다.

    또한, preg_match 함수의 첫 번째 인자에서 \\를 이스케이프 문자로 인식하지 않도록 escape 문자를 추가하여 /\\d/를 /\\\\d/로 인식하도록 해야 합니다.

    예를 들어, preg_match(\"/\\\\\\\\d/\", \"123\")의 결과는 1이 나옵니다.

    또한, preg_match 함수의 첫 번째 인자에서 /를 이스케이프 문자로 인식하지 않도록 escape 문자를 추가하여 /\\d/를 /\\\\d/로 인식하도록 해야 합니다.

    예를 들어, preg_match(\"/\\\\\\\\d/\", \"123\")의 결과는 1이 나옵니다.

    또한, preg_match 함수의 첫 번째 인자에서 \\를 이스케이프 문자로 인식하지 않도록 escape 문자를 추가하여 /\\d/를 /\\\\d/로 인식하도록 해야 합니다.

    예를 들어, preg_match(\"/\\\\\\\\d/\", \"123\")의 결과는 1이 나옵니다.

    또한, preg_match 함수의 첫 번째 인자에서 /를 이스케이프 문자로 인식하지 않도록 escape 문자를 추가하여 /\\d/를 /\\\\d/로 인식하도록 해야 합니다.

    예를 들어, preg_match(\"/\\\\\\\\d/\", \"123\")의 결과는 1이 나옵니다.

    또한, preg_match 함수의 첫 번째 인자에서 \\를 이스케이프 문자로 인식하지 않도록 escape 문자를 추가하여 /\\d/를 /\\\\d/로 인식하도록 해야 합니다.

    예를 들어, preg_match(\"/\\\\\\\\d/\", \"123\")의 결과는 1이 나옵니다.

    또한, preg_match 함수의 첫 번째 인자에서 /를 이스케이프 문자로 인식하지 않도록 escape 문자를 추가하여 /\\d/를 /\\\\d/로 인식하도록 해야 합니다.

    예를 들어, preg_match(\"/\\\\\\\\d/\", \"123\")의 결과는 1이 나옵니다.

    또한, preg_match 함수의 첫 번째 인자에서 \\를 이스케이프 문자로 인식하지 않도록 escape 문자를 추가하여 /\\d/를 /\\\\d/로 인식하도록 해야 합니다.

    예를 들어, preg_match(\"/\\\\\\\\d/\", \"123\")의 결과는 1이 나옵니다.

    또한, preg_match 함수의 첫 번째 인자에서 /를 이스케이프 문자로 인식하지 않도록 escape 문자를 추가하여 /\\d/를 /\\\\d/로 인식하도록 해야 합니다.

    예를 들어, preg_match(\"/\\\\\\\\d/\", \"123\")의 결과는 1이 나옵니다.

    또한, preg_match 함수의 첫 번째 인자에서 \\를 이스케이프 문자로 인식하지 않도록 escape 문자를 추가하여 /\\d/를 /\\\\d/로 인식하도록 해야 합니다.

    예를 들어, preg_match(\"/\\\\\\\\d/\", \"123\")의 결과는 1이 나옵니다.

    또한, preg_match 함수의 첫 번째 인자에서 /를 이스케이프 문자로 인식하지 않도록 escape 문자를 추가하여 /\\d/를 /\\\\d/로 인식하도록 해야 합니다.

    예를 들어, preg_match(\"/\\\\\\\\d/\", \"123\")의 결과는 1이 나옵니다.

    또한, preg_match 함수의 첫 번째 인자에서 \\를 이스케이프 문자로 인식하지 않도록 escape 문자를 추가하여 /\\d/를 /\\\\d/로 인식하도록 해야 합니다.

    예를 들어, preg_match(\"/\\\\\\\\d/\", \"123\")의 결과는 1이 나옵니다.

    또한, preg_match 함수의 첫 번째 인자에서 /를 이스케이프 문자로 인식하지 않도록 escape 문자를 추가하여 /\\d/를 /\\\\d/로 인식하도록 해야 합니다.

    예를 들어, preg_match(\"/\\\\\\\\d/\", \"123\")의 결과는 1이 나옵니다.

    또한, preg_match 함수의 첫 번째 인자에서 \\를 이스케이프 문자로 인식하지 않도록 escape 문자를 추가하여 /\\d/를 /\\\\d/로 인식하도록 해야 합니다.

    예를 들어, preg_match(\"/\\\\\\\\d/\", \"123\")의 결과는 1이 나옵니다.

    또한, preg_match 함수의 첫 번째 인자에서 /를 이스케이프 문자로 인식하지 않도록 escape 문자를 추가하여 /\\d/를 /\\\\d/로 인식하도록 해야 합니다.

    예를 들어, preg_match(\"/\\\\\\\\d/\", \"123\")의 결과는 1이 나옵니다.

    또한, preg_match 함수의 첫 번째 인자에서 \\를 이스케이프 문자로 인식하지 않도록 escape 문자를 추가하여 /\\d/를 /\\\\d/로 인식하도록 해야 합니다.

    예를 들어, preg_match(\"/\\\\\\\\d/\", \"123\")의 결과는 1이 나옵니다.

    또한, preg_match 함수의 첫 번째 인자에서 /를 이스케이프 문자로 인식하지 않도록 escape 문자를 추가하여 /\\d/를 /\\\\d/로 인식하도록 해야 합니다.

    예를 들어, preg_match(\"/\\\\\\\\d/\", \"123\")의 결과는 1이 나옵니다.

    또한, preg_match 함수의 첫 번째 인자에서 \\를 이스케이프 문자로 인식하지 않도록 escape 문자를 추가하여 /\\d/를 /\\\\d/로 인식하도록 해야 합니다.

    예를 들어, preg_match(\"/\\\\\\\\d/\", \"123\")의 결과는 1이 나옵니다.

    또한, preg_match 함수의 첫 번째 인자에서 /를 이스케이프 문자로 인식하지 않도록 escape 문자를 추가하여 /\\d/를 /\\\\d/로 인식하도록 해야 합니다.

    예를 들어, preg_match(\"/\\\\\\\\d/\", \"123\")의 결과는 1이 나옵니다.

    또한, preg_match 함수의 첫 번째 인자에서 \\를 이스케이프 문자로 인식하지 않도록 escape 문자를 추가하여 /\\d/를 /\\\\d/로 인식하도록 해야 합니다.

    예를 들어, preg_match(\"/\\\\\\\\d/\", \"123

    2025-05-13 03:41

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 23,782건 / 5 페이지

검색

게시물 검색