2014-02-24 2 views
1

정규 표현식을 사용하여 아래에 언급 된 2 개의 URL 만 필터 할 수 있습니까?2 개의 URL을 필터링하는 정규식

http://www.domain.com/owner/Marketinghttp://www.domain.com/owner/getinfo)?

업데이트 사용법은 다음과 같습니다.

<rule name="Skip HTTPS" enabled="true" stopProcessing="true"> 
     <match url="I need regex here" ignoreCase="true" /> 
     <conditions> 
     <add input="{HTTP}" pattern="OFF" /> 
     </conditions> 
     <action type="None" /> 
    </rule> 

업데이트 2 :

나는이 방법을 넣으면, 그것은 작동합니까?

<match url="(Marketing|getinfo)" ignoreCase="true" /> 
+0

왜 'if ... or ...'를 사용할 수 없습니까? 나는 대부분의 URL이 일치한다는 것을 이해할 수 있지만 왜 마지막 부분을 확인하지 못하는 것일까? 마지막 슬래시 다음 부분? – pythonian29033

+0

@ pythonian29033 web.config 파일의 url 재 작성 모델에이 내용을 넣어야합니다. – Sampath

+0

좋아, 내가 함께 할 수 있는지 보자. – pythonian29033

답변

1

, 그것은 해협 앞으로이다 : (http:\/\/www\.domain\.com\/owner\/Marketing | http:\/\/www\.domain\.com\/owner\/getinfo). 이 하나가 작동하는 것 같다 http://regex101.com/r/yW3aP9

+0

정규 표현식에서이 부분을 제거 할 수 있습니까 (예 : http : //www.domain.com/)? B'cos 공통 부분입니다. – Sampath

+0

@Sampath 예, 다음과 같이 끝 부분을 사용할 수도 있습니다. '/ \/(Marketing | getinfo) $ /',하지만 당신은 적어도 소유자 부분과 달러 기호를 포함하지 않기를 원한다. 나는 페이지에 매개 변수를 올릴 수 있다고 생각하고있다. '/ \/owner \/(Marketing | getinfo) /' – pythonian29033

+0

더 좋습니까? 'http : \/\/www \ .domain \ .com \/owner \/(?: Marketing | getinfo)) 'http://regex101.com/r/qD1nC1 –

1

파이프 |은 변경 및 괄호로 사용할 수 있습니다. ^을 추가하고 후행 $은 표현식에 선행 또는 후행 가비지가없는 정확한 URL 만 일치시키고 슬래시 (RegEx 구분 기호 역할) 및 도트 (임의의 문자와 일치하는 점)를 이스케이프합니다. 그래서 : 내가 정확하게 당신이 원하는 것을 이해한다면

/^http:\/\/www\.domain\.com\/owner\/(Marketing|getinfo)$/ 
+0

멋지지만이 정규식은 실행시 작동하지 않습니다./ – pythonian29033

+0

$에 차이가 있습니다 : $ echo -e "http://www.domain.com/owner/Marketing\nhttp://www.domain. co.kr/owner/getinfo \ nhttp : //www.domain.com/owner/HR "| perl -nle '///http:\/\/www\.domain\co.kr/owner\/(Marketing|getinfo)$/'http://www.domain.com/owner/ マー 마케팅 http : //www.domain.com/owner/getinfo $ – Lasse

+0

내 '업데이트 2 :'가 나타나면 알려주세요. 올바른지 아닌지 알려주세요. – Sampath

1

확인,

/http:\/\/www\.domain\.com\/owner\/(Marketing|getinfo)/ 

하지만 당신이 carett와 달러 기호 ^$로 전체 문자열을 비교할 때 regexpal 문자열을 일치하지 않는, 어쩌면 경험이 많은 사람이 이유를 알 수 참조

+0

정규식에서 http와 www.domain.com 부분을 제거 할 수 있습니까? 모두에게 공통적 인 부분입니다. – Sampath

+0

아마도 공백 또는 슬래시가 앞이나 뒤에 있습니까? 어떤 컨텍스트에서 시도하고 있습니까? – Lasse

+0

OP가 아마도 getinfo 접미사가 붙은 페이지에 게시 될 것입니다. 접미사는 자체적으로 설명해야합니다. . . 결국'$ '를 쓰는 것은 나쁜 생각 일 것입니다. 또한이 값은 브라우저에서 직접 보낸 값과 일치하므로 공백에 대해 걱정할 필요가 없습니다. 서버는 무시합니다 – pythonian29033