2014-09-25 2 views
0

javascript의 특정 유형의 URL과 일치해야합니다. 해당 URL이 일치하는 경우 URL에 특정 단어가 포함되어 있지 않은지 확인해야합니다. 나는 과 일치하는 단어를없이 찾으려고합니다.RegExp 일치하는 URL이지만 특정 단어가 포함 된 URL이 아닙니다.

부정적인 선견자를 만들려고했으나 제대로 작동하지 않습니다. 나는 그것을 한 단어로만 할 수는 있지만 내 검색의 중간에는 할 수 없다. 나는 아직도 내가 부정한 확신을 갖기를 바랍니다.

예 :

http://m.store.com/shop/product/thing-that-has-collection?ID=234&CatID=456 - do not match. 
http://m.store.com/shop/product/thing-that-is-something-else?ID=432&CatID=654 - match. 

것은 여기에 모든 URL과 일치하는 내 정규 표현식입니다.

\/shop\/product\/[\w-]* 

부정적인 선견자를 해킹하려는 시도. 나는 이것이 작동하지 않는다는 것을 알고 이것의 변형을 시도했다. 나는이 모든 잘못에 대해 생각하고 있지만 나는 노력하고 있다고 생각하고있다.

(?!-collection\?)\/shop\/product\/[\w-]* 
(?<!-collection\?)\/shop\/product\/[\w-]* 
\/shop\/product\/[\w-]*(?<!-collection\?) 

많은 감사

+1

자바 스크립트 정규식에는 lookbehind가 없습니다. – elclanrs

+0

거의 다 왔어. 부정적인 선행 기입'(?!. *? - collection \?)'안에'. * '를 추가하면됩니다. –

답변

관련 문제