JavaScript RegEx 그룹

JavaScript RegEx 그룹

정규식은 주어진 문자열의 문자 또는 단어 조합과 일치하는 패턴입니다. 정규 표현식은 JavaScript의 객체이기도 합니다.

이러한 패턴은 RegExp의 test()exec()matchAll(), match(), replaceAll(), replace(), search() 및 문자열의 split().

오늘의 포스트는 자바스크립트의 정규식 그룹에 대해 알아볼 것입니다.

JavaScript의 RegEx 그룹

패턴의 일부는 괄호 (...)로 둘러쌀 수 있습니다. 이를 캡처 그룹이라고 합니다.

여기에는 두 가지 효과가 있습니다.

  1. 일치 항목의 일부를 결과 배열에서 별도의 요소로 유지할 수 있습니다.
  2. 괄호 뒤에 한정사를 넣으면 괄호 전체에 적용됩니다.

통사론:

const re = /ab+c/;
const re = new RegExp('ab+c');

위의 구문은 일반 정규식 패턴을 보여줍니다. 미리 보기 어설션에는 긍정적부정적의 두 가지 방법이 있습니다.

긍정 예측의 구문은 (?=...)입니다. 부정 예측에 대한 구성은 (?!...)입니다. 순방향 부정은 패턴이 특정 패턴을 따르지 않는다는 것을 나타냅니다.

ES2018은 미리보기 어설션을 JavaScript에 통합하여 미리보기 어설션을 보완합니다. (?<=...)로 표시된 백스페이스 어설션을 사용하면 다른 패턴이 선행하는 경우에만 패턴을 일치시킬 수 있습니다.

그룹 및 범위 문서에서 그룹 및 범위에 대한 자세한 정보를 찾을 수 있습니다.

캡처 그룹 이름 지정

문자를 괄호로 묶어 정규식의 일부를 그룹화할 수 있습니다. 이를 통해 패턴의 일부에만 교대를 제한하거나 전체 그룹에 양자화기를 적용할 수 있습니다.

또한 추가 처리를 위해 괄호 안의 일치하는 값을 추출할 수 있습니다.

다음 코드는 문자열에서 연도, 월 및 날짜를 찾는 방법의 예를 제공합니다.

const regEx = /(\d{4})-(\d{2})-(\d{2})/;
const matchedPattern = regEx.exec('2022-04-22');

console.log(matchedPattern[0]);
console.log(matchedPattern[1]);
console.log(matchedPattern[2]);
console.log(matchedPattern[3]);

위의 예에서 연도, 월, 일에 대한 정규식을 정의했습니다. 마지막으로 지정된 문자열에 대해 정규식을 실행하면 패턴을 캡처하여 일치하는 그룹과 그룹화합니다.

우리는 패턴이 년, 월, 일에 대한 것임을 기억해야 합니다. 전체 정규식을 실행한 후 아래와 같은 결과를 출력합니다.

출력:

"2022-04-22"
"2022"
"04"
"22"

위의 문제에 대한 해결책은 그룹을 캡처하는 것입니다. 가장 발전된 버전은 (?<name>...) 형식의 보다 표현적인 구문을 사용하여 그룹을 캡처하는 것입니다.

const regEx = /(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})/;
const matchedPattern = regEx.exec('2022-03-22');

console.log(matchedPattern.groups);
console.log(matchedPattern.groups.year);
console.log(matchedPattern.groups.month);
console.log(matchedPattern.groups.day);

위의 예에서 우리는 연도에 대한 정규식을 정의하고 연도 이름을 지정했습니다. 마찬가지로 월과 일에 대한 정규식을 정의했습니다.

마지막으로 지정된 문자열에 대해 정규식을 실행하면 패턴을 캡처하여 일치하는 그룹과 그룹화합니다. 전체 정규식을 실행한 후 아래와 같은 결과를 출력합니다.

출력:

{
    day: "22",
    month: "03",
    year: "2022"
}
"2022"
"03"
"22"

여기에서 전체 코드에 액세스할 수도 있습니다.

튜토리얼이 마음에 드시나요? DelftStack을 구독하세요 YouTube에서 저희가 더 많은 고품질 비디오 가이드를 제작할 수 있도록 지원해주세요. 구독하다
Shraddha Paghdar avatar Shraddha Paghdar avatar

Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.

LinkedIn

관련 문장 - JavaScript RegEx