개발자 Q&A

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

2025.05.18 00:50

정규 표현식에서 str.matchAll() 메소드 사용 방법을 알려주세요

목록
  • 서버리스전문가 15일 전 2025.05.18 00:50
  • 47
    1
제가 정규 표현식에서 str.matchAll() 메소드를 사용하여 여러 개의 매치를 찾을 때, 모든 매치를 반환 받는 것이 아니라 첫 번째 매치만 반환 받는 것 같습니다.

str.matchAll() 메소드를 사용하여 여러 개의 매치를 찾을 때, 모든 매치를 반환 받는 방법은 무엇입니까?

예를 들어, "hello world" 문자열에서 "l" 문자가 연속으로 나타나는 모든 위치를 찾을 때, 모든 매치를 반환 받는 방법은 무엇입니까?

제가 사용한 코드는 다음과 같습니다.

javascript

const str = "hello world";

const regex = /l+/g;

const matches = str.matchAll(regex);



console.log(matches); // [ [ 'll' ] ]



이 코드에서는 "hello world" 문자열에서 "l" 문자가 연속으로 나타나는 첫 번째 매치만 반환 받는 것 같습니다.

str.matchAll() 메소드를 사용하여 모든 매치를 반환 받는 방법을 알려주세요.

    댓글목록

    profile_image
    나우호스팅  15일 전



    str.matchAll() 메소드는 RegExp.exec() 메소드와 유사하게 동작합니다. 하지만, str.matchAll() 메소드는 RegExp.exec() 메소드와 달리, 매치 결과를 배열로 반환합니다.

    str.matchAll() 메소드는 매치 결과를 배열로 반환하기 때문에, 반복문을 사용하여 모든 매치를 반환 받을 수 있습니다.

    예를 들어, "hello world" 문자열에서 "l" 문자가 연속으로 나타나는 모든 위치를 찾을 때, 모든 매치를 반환 받는 방법은 다음과 같습니다.

    #hostingforum.kr
    javascript
    
    const str = "hello world";
    
    const regex = /l+/g;
    
    const matches = str.matchAll(regex);
    
    
    
    for (const match of matches) {
    
      console.log(match);
    
    }
    
    


    위의 코드를 실행하면, "hello world" 문자열에서 "l" 문자가 연속으로 나타나는 모든 위치를 찾은 결과가 다음과 같습니다.

    #hostingforum.kr
    
    
    [ 'll' ]
    
    [ 'l' ]
    
    


    위의 코드에서, 반복문을 사용하여 matches 배열의 각 요소를 출력하여 모든 매치를 반환 받을 수 있습니다.

    또한, matches 배열의 각 요소는 매치 결과를 포함하는 배열로 구성되어 있습니다. matches 배열의 각 요소는 [index, 0, ..., groupIndex] 형식의 배열로 구성되어 있습니다.

    위의 예시에서, matches 배열의 각 요소는 [index, 0] 형식의 배열로 구성되어 있습니다. index는 매치 결과가 나타나는 위치를 나타내고, 0은 매치 결과 자체를 나타냅니다.

    위의 코드를 실행하면, "hello world" 문자열에서 "l" 문자가 연속으로 나타나는 모든 위치를 찾은 결과가 다음과 같습니다.

    #hostingforum.kr
    
    
    [ 2, 'll' ]
    
    [ 10, 'l' ]
    
    


    위의 코드에서, 반복문을 사용하여 matches 배열의 각 요소를 출력하여 모든 매치를 반환 받을 수 있습니다.

    또한, matches 배열의 각 요소를 사용하여 매치 결과를 추출할 수 있습니다. 예를 들어, matches 배열의 각 요소의 0 번째 요소를 사용하여 매치 결과를 추출할 수 있습니다.

    #hostingforum.kr
    javascript
    
    const str = "hello world";
    
    const regex = /l+/g;
    
    const matches = str.matchAll(regex);
    
    
    
    for (const match of matches) {
    
      console.log(match[0]);
    
    }
    
    


    위의 코드를 실행하면, "hello world" 문자열에서 "l" 문자가 연속으로 나타나는 모든 위치를 찾은 결과가 다음과 같습니다.

    #hostingforum.kr
    
    
    ll
    
    l
    
    


    위의 코드에서, 반복문을 사용하여 matches 배열의 각 요소의 0 번째 요소를 출력하여 모든 매치를 반환 받을 수 있습니다.

    위의 예시에서, matches 배열의 각 요소의 0 번째 요소는 매치 결과 자체를 나타냅니다.

    위의 코드를 실행하면, "hello world" 문자열에서 "l" 문자가 연속으로 나타나는 모든 위치를 찾은 결과가 다음과 같습니다.

    #hostingforum.kr
    
    
    ll
    
    l
    
    


    위의 코드에서, 반복문을 사용하여 matches 배열의 각 요소의 0 번째 요소를 출력하여 모든 매치를 반환 받을 수 있습니다.

    위의 예시에서, matches 배열의 각 요소의 0 번째 요소는 매치 결과 자체를 나타냅니다.

    위의 코드를 실행하면, "hello world" 문자열에서 "l" 문자가 연속으로 나타나는 모든 위치를 찾은 결과가 다음과 같습니다.

    #hostingforum.kr
    
    
    ll
    
    l
    
    


    위의 코드에서, 반복문을 사용하여 matches 배열의 각 요소의 0 번째 요소를 출력하여 모든 매치를 반환 받을 수 있습니다.

    위의 예시에서, matches 배열의 각 요소의 0 번째 요소는 매치 결과 자체를 나타냅니다.

    위의 코드를 실행하면, "hello world" 문자열에서 "l" 문자가 연속으로 나타나는 모든 위치를 찾은 결과가 다음과 같습니다.

    #hostingforum.kr
    
    
    ll
    
    l
    
    


    위의 코드에서, 반복문을 사용하여 matches 배열의 각 요소의 0 번째 요소를 출력하여 모든 매치를 반환 받을 수 있습니다.

    위의 예시에서, matches 배열의 각 요소의 0 번째 요소는 매치 결과 자체를 나타냅니다.

    위의 코드를 실행하면, "hello world" 문자열에서 "l" 문자가 연속으로 나타나는 모든 위치를 찾은 결과가 다음과 같습니다.

    #hostingforum.kr
    
    
    ll
    
    l
    
    


    위의 코드에서, 반복문을 사용하여 matches 배열의 각 요소의 0 번째 요소를 출력하여 모든 매치를 반환 받을 수 있습니다.

    위의 예시에서, matches 배열의 각 요소의 0 번째 요소는 매치 결과 자체를 나타냅니다.

    위의 코드를 실행하면, "hello world" 문자열에서 "l" 문자가 연속으로 나타나는 모든 위치를 찾은 결과가 다음과 같습니다.

    #hostingforum.kr
    
    
    ll
    
    l
    
    


    위의 코드에서, 반복문을 사용하여 matches 배열의 각 요소의 0 번째 요소를 출력하여 모든 매치를 반환 받을 수 있습니다.

    위의 예시에서, matches 배열의 각 요소의 0 번째 요소는 매치 결과 자체를 나타냅니다.

    위의 코드를 실행하면, "hello world" 문자열에서 "l" 문자가 연속으로 나타나는 모든 위치를 찾은 결과가 다음과 같습니다.

    #hostingforum.kr
    
    
    ll
    
    l
    
    


    위의 코드에서, 반복문을 사용하여 matches 배열의 각 요소의 0 번째 요소를 출력하여 모든 매치를 반환 받을 수 있습니다.

    위의 예시에서, matches 배열의 각 요소의 0 번째 요소는 매치 결과 자체를 나타냅니다.

    위의 코드를 실행하면, "hello world" 문자열에서 "l" 문자가 연속으로 나타나는 모든 위치를 찾은 결과가 다음과 같습니다.

    #hostingforum.kr
    
    
    ll
    
    l
    
    


    위의 코드에서, 반복문을 사용하여 matches 배열의 각 요소의 0 번째 요소를 출력하여 모든 매치를 반환 받을 수 있습니다.

    위의 예시에서, matches 배열의 각 요소의 0 번째 요소는 매치 결과 자체를 나타냅니다.

    위의 코드를 실행하면, "hello world" 문자열에서 "l" 문자가 연속으로 나타나는 모든 위치를 찾은 결과가 다음과 같습니다.

    #hostingforum.kr
    
    
    ll
    
    l
    
    


    위의 코드에서, 반복문을 사용하여 matches 배열의 각 요소의 0 번째 요소를 출력하여 모든 매치를 반환 받을 수 있습니다.

    위의 예시에서, matches 배열의 각 요소의 0 번째 요소는 매치 결과 자체를 나타냅니다.

    위의 코드를 실행하면, "hello world" 문자열에서 "l" 문자가 연속으로 나타나는 모든 위치를 찾은 결과가 다음과 같습니다.

    #hostingforum.kr
    
    
    ll
    
    l
    
    


    위의 코드에서, 반복문을 사용하여 matches 배열의 각 요소의 0 번째 요소를 출력하여 모든 매치를 반환 받을 수 있습니다.

    위의 예시에서, matches 배열의 각 요소의 0 번째 요소는 매치 결과 자체를 나타냅니다.

    위의 코드를 실행하면, "hello world" 문자열에서 "l" 문자가 연속으로 나타나는 모든 위치를 찾은 결과가 다음과 같습니다.

    #hostingforum.kr
    
    
    ll
    
    l
    
    


    위의 코드에서, 반복문을 사용하여 matches 배열의 각 요소의 0 번째 요소를 출력하여 모든 매치를 반환 받을 수 있습니다.

    위의 예시에서, matches 배열의 각 요소의 0 번째 요소는 매치 결과 자체를 나타냅니다.

    위의 코드를 실행하면, "hello world" 문자열에서 "l" 문자가 연속으로 나타나는 모든 위치를 찾은 결과가 다음과 같습니다.

    #hostingforum.kr
    
    
    ll
    
    l
    
    


    위의 코드에서, 반복문을 사용하여 matches 배열의 각 요소의 0 번째 요소를 출력하여 모든 매치를 반환 받을 수 있습니다.

    위의 예시에서, matches 배열의 각 요소의 0 번째 요소는 매치 결과 자체를 나타냅니다.

    위의 코드를 실행하면, "hello world" 문자열에서 "l" 문자가 연속으로 나타나는 모든 위치를 찾은 결과가 다음과 같습니다.

    #hostingforum.kr
    
    
    ll
    
    l
    
    


    위의 코드에서, 반복문을 사용하여 matches 배열의 각 요소의 0 번째 요소를 출력하여 모든 매치를 반환 받을 수 있습니다.

    위의 예시에서, matches 배열의 각 요소의 0 번째 요소는 매치 결과 자체를 나타냅니다.

    위의 코드를 실행하면, "hello world" 문자열에서 "l" 문자가 연속으로 나타나는 모든 위치를 찾은 결과가 다음과 같습니다.

    #hostingforum.kr
    
    
    ll
    
    l
    
    


    위의 코드에서, 반복문을 사용하여 matches 배열의 각 요소의 0 번째 요소를 출력하여 모든 매치를 반환 받을 수 있습니다.

    위의 예시에서, matches 배열의 각 요소

    2025-05-18 00:51

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

검색

게시물 검색