2012-01-26 16 views
0

Google은 지정된 URL에 제 3 자 스크립트를로드하기 위해 정규식을 사용해야하는 독점 추적 시스템을 사용하고 있습니다.URL이있는 정규식 - 구문

우리가 사용하고있는 정규식의 구문이 올바른지 확인하고 싶습니다. 이 잘 보입니까

.*\/products\/18\/indoor-posters.* 

:

우리는이 규칙을 사용하여 다음과 같은 URL

/products/18/indoor-posters 

를 일치 시키려면? 또한 URL에 검색어 매개 변수가 있다면 여전히 작동합니까? 예 :

/products 

규칙을이 때문이다 :

/products/18/indoor-posters?someParam=someValue 

다른 URL이 일치 할 수있다겠습니까이 경기

.*\/products 

올바르게?

답변

0

음, "오른쪽"은 상대적인 용어입니다. 일반적으로 .*은 아무것도 아는 것이 없기 때문에 좋은 아이디어가 아닙니다. 따라서이 정규 표현식은 예제 문자열과 모두 일치하지만 더 많은 일치를 보입니다. 문제는 무엇입니까에 대해 정규식을 사용하고 있습니까?

그 부분 문자열이 문자열의 어느 위치에 있는지 만 확인하려는 경우 괜찮습니다 (하지만 어쨌든 부분 문자열을 확인하지 않아도됩니다).

올바른 URL인지 확인하고 싶다면 no, foo-bar!$%(§$§$/products/18/indoor-postersssssss)(/$%/§($/과 일치하므로 정규식이 올바르지 않습니다. 당신은 항상 당신의 입력으로 올바른 URL을 얻을 것이다 있는지 확인하고 단지 그들이 당신에게 패턴과 일치 여부를 검사 할 수있는 경우

, 그때

^.*\/products$ 

가 끝나는 모든 URL과 일치하는 것이 좋습니다 것 /products

^.*\/products\/18\/indoor-posters(?:\?[\w-]+=[\w-]+)?$ 

에 영숫자 문자가 namevalue에 대한 합법적 가정, 마지막에 옵션 ?name=value 비트와 /products/18/indoor-posters로 끝나는 URL을 개발하였습니다.

+0

정규 표현식은 지정된 URL의 방문자를 검색하기위한 것입니다. 예를 들어 방문자가 www.mysite.com/products 페이지를 방문 할 가능성이 있으며 URL에 검색어 매개 변수가있을 수도 있습니다./products와 일치하는 요청 URI를 선택적으로 일치시키고 싶을뿐 아니라 선택적으로? a = b로 표시된 쿼리 매개 변수를 사용할 수도 있습니다. – thirtyish

+0

@thirtyish : 좋아, 대답을 편집했습니다. –

+0

감사합니다. 우리는 꽤 많이 있다고 생각합니다. 매개 변수 값은 하이픈과 밑줄도 지원해야합니다. 우리가 어떻게 그럴 수 있을까요? – thirtyish