정규 표현식과 일치하는 문자열인 RegExp를 전달한 경우에도테스트 오류가 발생했습니다.

기본적인 일이지만 좀 끼워 넣었기 때문에 혹시 모르니까 적어놔야 해요.
하고 싶은 일.
문자열이 URL인지 여부를 정규 표현식으로 판단하려면
해보던 일, 일어난 일.
const str = 'https://google.com';
const reg = new RegExp('https?://[\w/:%#\$&\?\(\)~\.=\+\-]+');
reg.test(str); //結果:false
분명히 정규 표현식은 정확해야 하지만 일치하는 문자열을 주어도 가짜는 되돌아온다
해결책
구조기 문법에서 정규 표현식은 문자열로 지정되기 때문에 '\' 를 피해야 합니다.
const reg = new RegExp('https?://[\\w/:%#\\$&\\?\\(\\)~\\.=\\+\\-]+');
정규 표현식 사용 시
const reg = /https?:\/\/[\w\/:%#\$&\?\(\)~\.=\+\-]+/;
참고 문헌
이 글은 아래의 정보를 참고하여 쓴 것이다.
  • JavaScript 정규 표현식 요약
  • 좋은 웹페이지 즐겨찾기