라이브러리

[JAVASCRIPT] str.matchAll(regex) - 모든 정규식 매칭 결과를 반복자로 반환




str.matchAll(regex)

`str.matchAll(regex)`는 JavaScript에서 사용하는 정규표현식 메서드입니다. 이 메서드는 주어진 문자열에서 정규표현식에 매치되는 모든 문자열을 찾습니다.

정규표현식


정규표현식은 특정 패턴을 찾기 위해 사용하는 문자열입니다. 정규표현식은 다양한 특수 문자를 사용하여 패턴을 정의할 수 있습니다.

str.matchAll(regex) 사용법


`str.matchAll(regex)` 메서드는 다음과 같은 형식으로 사용할 수 있습니다.

#hostingforum.kr
javascript

let matches = str.matchAll(regex);



이 메서드는 정규표현식에 매치되는 모든 문자열을 배열로 반환합니다.

예제


#hostingforum.kr
javascript

// 문자열

let str = "Hello, world! Hello, JavaScript!";



// 정규표현식

let regex = /Hello,/g;



// matches 변수에 str.matchAll(regex) 결과를 저장

let matches = str.matchAll(regex);



// matches 배열을 출력

console.log(matches);



이 예제에서 `str.matchAll(regex)` 메서드는 "Hello," 패턴에 매치되는 모든 문자열을 찾습니다. 결과는 다음과 같습니다.

#hostingforum.kr
javascript

[

  ["Hello,"],

  ["Hello,"]

]



매치된 문자열의 인덱스


`str.matchAll(regex)` 메서드는 매치된 문자열의 인덱스를 반환하지 않습니다. 만약 인덱스를 알고 싶다면, `str.matchAll(regex)` 메서드의 결과를 `Array.prototype.entries()` 메서드를 사용하여 인덱스와 값을 함께 반환할 수 있습니다.

#hostingforum.kr
javascript

// 문자열

let str = "Hello, world! Hello, JavaScript!";



// 정규표현식

let regex = /Hello,/g;



// matches 변수에 str.matchAll(regex) 결과를 저장

let matches = str.matchAll(regex);



// matches 배열을 출력

for (let [index, match] of matches) {

  console.log(`인덱스: ${index}, 매치: ${match}`);

}



이 예제에서 `str.matchAll(regex)` 메서드는 "Hello," 패턴에 매치되는 모든 문자열을 찾습니다. 결과는 다음과 같습니다.

#hostingforum.kr


인덱스: 0, 매치: Hello,

인덱스: 13, 매치: Hello,



그룹 매칭


`str.matchAll(regex)` 메서드는 그룹 매칭도 지원합니다. 그룹 매칭은 정규표현식에서 사용하는 그룹을 매칭할 수 있습니다.

#hostingforum.kr
javascript

// 문자열

let str = "Hello, world! Hello, JavaScript!";



// 정규표현식

let regex = /Hello, (.*?)!/g;



// matches 변수에 str.matchAll(regex) 결과를 저장

let matches = str.matchAll(regex);



// matches 배열을 출력

for (let match of matches) {

  console.log(`매치: ${match[1]}`);

}



이 예제에서 `str.matchAll(regex)` 메서드는 "Hello, (.*?)!" 패턴에 매치되는 모든 문자열을 찾습니다. 결과는 다음과 같습니다.

#hostingforum.kr


매치: world

매치: JavaScript



참고


- `str.matchAll(regex)` 메서드는 `String.prototype.match()` 메서드와 다르게 모든 매치된 문자열을 반환합니다.
- `str.matchAll(regex)` 메서드는 `Array.prototype.entries()` 메서드를 사용하여 인덱스와 값을 함께 반환할 수 있습니다.
- `str.matchAll(regex)` 메서드는 그룹 매칭도 지원합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 1 페이지

검색

게시물 검색