2012-02-15 6 views
0

상대 URL의 디렉토리 레벨을 제거하고 슬래시를 밑줄로 바꾸어야합니다. 일부 상대 URL에는 하나 또는 두 개의 레벨이 포함됩니다 (../ 또는 ../../). 지금 사용하고 있습니다 :javascript 상대 경로 바꾸기

$('area, a').click(function() { 
     cleanPath = $(this).attr('href').replace(/'..'/g, "").replace(/\//g, "_")); 
}); 

하지만 작동하지 않습니다. 여기에 게시 된 유사한 질문이 있지만 내 특정 문제를 해결하는 것으로 보이는 것은 없습니다. 분명히, 저는 RegEx 전문가가 아닙니다. 누구든지이 사실을 알 수 있습니까?

+0

좀 더 구체적으로 말씀해 주시겠습니까? URL을 전체 URL로 변경 하시겠습니까? – MiJyn

답변

0

정규 표현식 /'..'/g은 아포스트로피와 일치하는 모든 문자를 바로 뒤 따르고 임의의 문자 바로 다음에 다른 아포스트로피가 오는 문자를 찾습니다. .이 줄 바꿈을 제외한 모든 문자와 일치하기 때문입니다 (여러 줄 모드가 활성화되어 있지 않은 경우).

시도 중 하나

/\.\./g 

또는

/[.]{2}/g 

백 슬래시를 앞에 추가하여 귀하의 정규식 리터럴 . (즉, 기간)로 .을 처리합니다. [.]. 둘러싸

는 정규식도로서 취급 . 리터럴 . ({2} 백 - 투 - 백, 정확히 2 회 발생입니다).