본문 바로가기

클라이언트/JavaScript
[자바스크립트(JavaScript)] 정규식 (Test, Match)

// Test  

- 주어진 문자열이 정규식에 일치하는지 확인하는 javaScript 메서드

- 문자열에서 주어진 정규식과 일치하는 부분이 있는지 결과를 Boolean으로 반환한다.

- 정규식 객체에 적용된다.


const regex = /^(aya|ye|woo|ma)+$/;
console.log(regex.test('ayaya'));
console.log(regex.test('ayawoo));

// Match 

- 문자열에서 정규식을 사용하여 패턴을 찾는 JavaScript 메서드

- 문자열에서 주어진 정규식과 일치하는 부분을 찾아 결과를 배열로 반환한다.
   (일치하는 부분이 없다면 null 반환)

- 문자열 객체에 적용된다.


// g(전역검색)

- g 플래그가 있으면 문자열 전체의 결과를 반환하고, 없으면 첫 번째로 일치하는 결과만 반환한다.
  > g가 없으면서 일치하는 부분이 있다면 배열의 길이는 항상 1



// (?=...)

- JavaScript에서 정규식은 기본적으로 일치되는 부분을 '소비'하는 형태이기 때문에, 소비하지 않기 위해서는 별도의 표기를 해주어야 한다.


function solution(myString, pat) {
    const regex = new RegExp(`(?=${pat})`, 'g');
    const answer = myString.match(regex);
    return answer ? answer.length : 0;
}