JavaScript 정규 표현식에서 일치하는 그룹에 액세스
문자열을 정규 표현식과 일치시킬 때 캡처된 하위 그룹을 검색하는 방법을 이해하는 것이 중요합니다. . JavaScript에서는 정규식 내 캡처 그룹을 사용하여 이를 수행합니다.
다음 예를 고려하세요.
var myString = "something format_abc"; // Target substring: "abc" var arr = /(?:^|\s)format_(.*?)(?:\s|$)/.exec(myString); console.log(arr); // [" format_abc", "abc"] console.log(arr[1]); // undefined console.log(arr[0]); // format_undefined
정의되지 않은 출력 이유:
정규 표현식이 하위 문자열 "abc"와 정확하게 일치하지만 arr[1]에 액세스하면 console.log의 잘못된 인쇄로 인해 정의되지 않은 결과가 반환됩니다. 진술. console.log는 문자열 %A를 서식 지정 자리 표시자로 해석하고 이를 두 번째 매개변수(이 경우 정의되지 않음)로 대체하려고 시도합니다.
일치하는 그룹에 액세스:
일치하는 그룹을 추출하려면 arr[1]을 사용하세요. 이렇게 하면 "abc"가 올바르게 반환됩니다.
여러 일치 항목에 대한 반복(ES2020):
JavaScript 2020에서는 다음 작업에 사용할 수 있는 반복자를 생성하는 matchAll 메서드를 도입했습니다. 문자열의 모든 일치 항목을 반복합니다.
const string = "something format_abc"; const regexp = /(?:^|\s)format_(.*?)(?:\s|$)/g; const matches = string.matchAll(regexp); for (const match of matches) { console.log(match); console.log(match.index); }
이 접근 방식은 더 깔끔한 여러 일치 항목을 처리하는 보다 직관적인 방법입니다.
위 내용은 JavaScript 정규식에서 캡처된 하위 그룹에 어떻게 액세스합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!