2009-08-04 3 views
1

HTTP 리소스의 URL을 리소스의 고유 식별자로 사용하고 있습니다 (놀랍게도).특정 검색어를 제외한 일치하는 URL을 찾는 방법은 무엇입니까?

이 모두 다르다 :

http://localhost/Docs/SomeDocument?group=33&checksafety=true 
http://localhost/Docs/SomeDocument?group=11&checksafety=true 
http://localhost/Docs/SomeDocument?group=11&checksafety=false 

는 그러나, 나는 자원을 구별하지 말아야 세 번째 쿼리 매개 변수를 (서버 측에서, 데이터베이스에서 동일한 데이터를 가져옵니다).

같은 (그룹 및 checksafety 매개 변수가 동일)입니다

http://localhost/Docs/SomeDocument?group=11&checksafety=false&rendergroup=A 
http://localhost/Docs/SomeDocument?group=11&checksafety=false&rendergroup=B 
http://localhost/Docs/SomeDocument?rendergroup=C&group=11&checksafety=false 

여기 정규식 적당합니까?

더 좋은 방법이 있습니까?

저는 C#, .NET 3.5 및 ASP.NET을 사용하고 있습니다.

+0

에 http : // localhost를/문서/SomeDocum group = 33 & checksafety = true 및 http : // localhost/Docs/SomeDocument? checksafety = true & group = 33이 서로 다른가요? –

+0

@ samuelcarrijo - 그들은 동일하지 않습니다. –

답변

0

당신은 querystring을 얻기 위해 나눌 수 있고, 각각의 그룹을 얻기 위해 나뉘어져 있고, 모든 그룹이 동일한 수의 그룹을 가지고 있는지 (그룹은 "variable = value"를 의미 함) 참조하십시오. 각 그룹을 개별적으로 분석하고 신경 쓰지 않는 그룹을 제거하십시오.

그러면 분석하기가 더 쉽습니다. 여기가 (그리고 그들이 설정으로 각 그룹에 넣어 같은

  • 을 있는지 확인하고 연합 (EU)이 설정 개별적으로 동일한 지 확인하기 위해 반복 일부
    • 이 목록에 각 그룹을 넣어 아이디어와 순서입니다.
    • 열린 우리당과 UriBuilder를 사용하여이 절차를 수행하고 "무관"그룹에게

    --edit을 제거한 후 일치 확인을 위해 사용할 닉 BERARDI 제안을 포함

  • +1

    나는 그것을 나누는 것에 동의한다. 그러나 그것을 System.Uri에 넣은 다음 UriBuilder를 사용하여 Uri를 만들면됩니다. 그런 다음 간단히 QueryString 속성을 가져 와서 "&"로 분리하여 원하지 않는 변수를 제거한 다음 다시 구성 할 수 있습니다. 특히 UriBuilder에 대한 유일한 언급은 당신이 스스로 문자열을 재구성하려고 할 필요가 없다는 것입니다. –

    +0

    다른 단어를 사용하는 것과 똑같은가요? 내 마음이 여기에서 초과 근무하고 있습니다 : 1) 원하지 않는 "그룹"을 분리하여 제거하고 알파벳 순서로 그룹을 다시 추가 한 다음 각 URL에 대한 쿼리 문자열을 다시 작성한 다음 소문자를 비교하십시오 URL 문자열 버전? –

    +0

    이것도 효과가 있습니다. 하지만 반드시 정렬 할 필요는 없습니다 (Set을 대신 사용하는 경우). –

    관련 문제