JavaScript RegEx 그룹

Shraddha Paghdar 2023년6월20일
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"

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

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