개발자 Q&A

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

2025.05.07 08:51

preg_split() 함수에 대한 질문

목록
  • 프론트엔드기사 16시간 전 2025.05.07 08:51 새글
  • 1
    1
제가 recently php를 공부하고 있는 중인데 preg_split() 함수에 대해 이해가 안 가는 부분이 있습니다.

preg_split() 함수는 문자열을 특정 패턴으로 분리하는 함수입니다. 하지만 이 함수의 사용법에 대해 잘 모릅니다.
예를 들어, 다음 코드에서 "\d+"는 어떤 의미를 나타내는지 알려주세요.

php

$result = preg_split("/d+/", "hello123world456");

print_r($result);



위 코드의 결과는 ["hello", "world"]이 나옵니다. 하지만 "\d+"는 어떤 의미를 가지고 있는지 궁금합니다.
다시 말해, "\d+"는 어떤 패턴을 나타내는지 알려주세요.

    댓글목록

    profile_image
    나우호스팅  16시간 전



    preg_split() 함수의 두 번째 인자로 사용되는 패턴은 정규 표현식입니다.

    \\d는 숫자를 의미하며, +는 그 숫자가 하나 이상 반복된다는 것을 의미합니다.

    예를 들어, \\d+는 하나 이상의 숫자를 의미합니다.

    이러한 패턴을 사용하여 문자열을 분리할 때, 문자열이 숫자로 시작하거나 숫자로 끝나지 않는 경우, 숫자 사이에 있는 문자열만 분리됩니다.

    따라서, 위 코드의 결과가 [\"hello\", \"world\"]이 나올 수 있는 이유는 \"hello\"와 \"world\"가 숫자로 시작하거나 끝나지 않기 때문입니다.

    하지만, 위 코드의 결과가 [\"hello\", \"123\", \"world\", \"456\"]이 나왔어야 하는 이유는, 숫자로 시작하거나 끝나지 않는 문자열은 분리되지 않아야 하기 때문입니다.

    따라서, 위 코드의 결과가 [\"hello\", \"world\"]이 나올 수 있는 이유는, preg_split() 함수의 두 번째 인자로 사용된 패턴이 잘못된 것일 수 있습니다.

    정확한 패턴을 사용하려면, 문자열을 분리하는 패턴을 정확하게 지정해야 합니다.

    예를 들어, 위 코드의 결과가 [\"hello\", \"123\", \"world\", \"456\"]이 나왔으면, preg_split() 함수의 두 번째 인자로 사용된 패턴을 다음과 같이 수정해야 합니다.

    $result = preg_split(\"/\\D+/\", \"hello123world456\");

    \\D는 숫자가 아닌 문자를 의미하며, +는 그 문자가 하나 이상 반복된다는 것을 의미합니다.

    이러한 패턴을 사용하여 문자열을 분리할 때, 문자열이 숫자로 시작하거나 끝나지 않는 경우, 숫자 사이에 있는 문자열만 분리됩니다.

    따라서, 위 코드의 결과가 [\"hello\", \"123\", \"world\", \"456\"]이 나올 수 있습니다.

    2025-05-07 08:52

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

검색

게시물 검색