2012-11-01 2 views

답변

4

\? 유효한 이스케이프 문자가 아닙니다. \\로 바꾸십시오.

var regexS = '[\\?&]' + name + '=([^&#]*)'; 

는 "\"가 뒤에 오는 문자를 이스케이프 것을 유의 사항 : 같은

그래서 그것은 본다. 이것이 \\가 단일 슬래시로 나오는 이유입니다 (이 질문의 출처를 보면 \가 4 배로 필요하다는 것을 알 수 있습니다).

다른 일반적인 이스케이프 시퀀스는 개행과 \ t에 대해 \ t입니다.

6

그냥 더블 당신이 Regex 개체에 대해이 문자열을 사용할 것 같은데요 비록 \

var regexS = '[\\?&]' + name + '=([^&#]*)'; 

탈출, 문자열의 문자가 제대로 이스케이프해야합니다. 기본적으로 \은 다음 문자를 이스케이프 처리합니다. 여분의 문자를 \\과 같이 추가하면 원래 \을 이스케이프 처리하고 마지막 문자열에서 \으로 평가됩니다.

관련 문제