Devlog Final 10일차 정규표현식 구현

shleecloud·2021년 12월 2일
0

Codestates

목록 보기
81/95

들어가며

퍼스트 프로젝트를 거치면서 확실히 개발 기량이 늘어난 것 같다. 이전보다 확실히 빠른 개발속도다. 이번 프로젝트는 시스템의 완성도를 높이는데 힘을 더 보태고싶다.

오늘은 정규표현식 구현 함수에서 애를 먹었다. 이 부분은 내일까지 조정해야 될 것 같다. 일반적인 동작은 되는데 flag를 주면 내가 원하는대로 동작하지는 않는다. 완성하면 구체적으로 작성해야겠다.

정규표현식 구현

  const getRegExp = (testCase) => {
    // 잘못된 정규표현식이 들어오면 빈 문자열 반환
    try {
      // flag와 pattern 분리
      // replace 함수 두 번째 인자로 '$1' 값을 부여해서 소괄호로 묶인 첫 번째 그룹을 가져올 수 있다.
      const flags = inputRegex.replace(/.*\/([gimy]*)$/, '$1');
      // replace 함수 안에서 flags 변수를 합쳐서 정규표현식을 만듦
      // 방금 만든 정규표현식으로 inputRegex 내부 패턴값을 소괄호로 묶어서 추출
      const pattern = inputRegex.replace(new RegExp('^/(.*?)/' + flags + '$'), '$1');
      const myRegex = new RegExp(pattern, flags);
      return myRegex.exec(testCase);
    } catch (e) {
      console.log(e);
      return '';
    }
  };
profile
블로그 옮겼습니다. https://shlee.cloud

0개의 댓글