개발자 Q&A

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

2025.08.08 22:57

RegexIterator::setFlags 관련 질문

목록
  • 크래시헌터 14시간 전 2025.08.08 22:57 새글
  • 3
    1
제출한 코드에서 RegexIterator::setFlags 메소드를 사용하여 플래그를 설정하였는데,
정규식이 매칭되도록 설정한 경우에도 일부 문자열이 제외되는 것을 확인하였습니다.

RegexIterator::setFlags 메소드의 옵션 중에서 PREG_SPLIT_NO_EMPTY를 사용하여 빈 문자열을 제외하고 싶습니다.
이 옵션을 사용하였을 때, 해당 옵션이 제대로 작동하는지 확인하고 싶습니다.

정규식이 매칭되도록 설정한 경우에도 빈 문자열이 제외되는지 확인하고 싶습니다.

해당 옵션을 사용하는 방법은 어떻게 되나요?

    댓글목록

    profile_image
    나우호스팅  14시간 전



    RegexIterator::setFlags 메소드는 정규식 매칭 결과에서 특정 플래그를 설정하는 메소드입니다. PREG_SPLIT_NO_EMPTY 플래그는 정규식 매칭 결과에서 빈 문자열을 제외하는 플래그입니다.

    PREG_SPLIT_NO_EMPTY 플래그를 사용하려면, RegexIterator::setFlags 메소드에 PREG_SPLIT_NO_EMPTY를 추가하여 플래그를 설정하면 됩니다.

    #hostingforum.kr
    php
    
    $iterator = new RegexIterator($iterator, '/정규식/', RegexIterator::GET_MATCH);
    
    $iterator->setFlags(RegexIterator::PREG_SPLIT_NO_EMPTY);
    
    


    이러한 코드를 사용하여 PREG_SPLIT_NO_EMPTY 플래그를 설정하면, 정규식 매칭 결과에서 빈 문자열이 제외됩니다.

    예를 들어, 다음과 같은 코드를 사용하여 정규식 매칭 결과에서 빈 문자열을 제외할 수 있습니다.

    #hostingforum.kr
    php
    
    $iterator = new RegexIterator($iterator, '/w+/');
    
    $iterator->setFlags(RegexIterator::PREG_SPLIT_NO_EMPTY);
    
    
    
    foreach ($iterator as $match) {
    
        print($match . "n");
    
    }
    
    


    이러한 코드를 사용하면, 정규식 매칭 결과에서 빈 문자열이 제외되어 매칭된 문자열만 출력됩니다.

    2025-08-08 22:58

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

검색

게시물 검색