2017-05-07 9 views
0

이제 단위 테스트를 작성하는 농담을 배우고 있습니다. 내가 농담의 문서와 농담 구성에 대한 GitHub의에 일부 코드의 일부를 읽고, 그리고 내가 옵션 moduleNameMapper는 다음과 같이 정의 될 수 있음을 발견농담의 구성에서 두 개의 백 슬래시가 무엇을 의미합니까?

"moduleNameMapper": { 
    "\\.(jpg|jpeg|png|gif)$": "<rootDir>/__mocks__/fileMock.js", 
    ".*\\.(css|less|scss)$": "<rootDir>/__mocks__/styleMock.js" 
} 

하지만 난 "\\를"무엇을하는지 이해할 수없는 구성에 의미 ?

정규 표현식에서 두 개의 백 슬래시가 파일이나 디렉토리와 일치하지 않는 것으로 보입니다.

그런 구성이 "aaa.jpg", "src/images/bbb.jpg", "src/less/style.config.less" 등과 일치 할 수 있는지 궁금합니다.

답변

1

백 슬래시는 일반 표현식 및 문자열 리터럴의 이스케이프 문자입니다.

정규식에서 \.은 리터럴 풀 스톱 문자를 의미합니다. 정규 표현식이 문자열 리터럴에 있기 때문에 문자열 부분 인 \ 부분은 이스케이프 처리해야합니다.

alert("My regex is: " + "\\.(jpg|jpeg|png|gif)$")