2012-03-21 4 views
3

JSLint는 다음에 대해 불평하고 있습니다.JSLINT : 부적절한 탈영

JSLINT : 잘못된 탈진. var r = 새 RegExp ("^ \ s *"+ s + "\ s * $", "i");

아무도 설명을 잘못 설명 할 수 있습니까?

답변

4

백 슬래시를 두 배로 늘려야합니다.

해당 표현식의 문자열 상수 (값이 RegExp 생성자에 전달되는 표현식)는 으로 해석되어 정규 표현식 파서가 인식합니다. 백 슬래시는 문자열 상수 구문의 메타 문자입니다. 따라서 문자열을 이중화하지 않으면 (문자열의 백 슬래시 인용 부분으로 표현하지 않으면) 정규 표현식 파서는이를 전혀 볼 수 없습니다. "S"문자의 0 개 이상의 인스턴스와 일치하는 정규 표현식입니다

var r = /^s*hello worlds*$/i; 

, 다음 :

"의"가 "안녕하세요!"입니다 따라서 경우에, 당신의 코드에 해당하는 것 문자열의 끝에 0 개 이상의 문자 "s"가 오는 검색 문자열.

+0

당신이 맞습니다. 당신의 도움을 주셔서 감사합니다. – YoussefTaghlabi