라이브러리
[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)` 메서드는 그룹 매칭도 지원합니다.
댓글목록
등록된 댓글이 없습니다.