2014-04-08 2 views
0

행운을주지 않고 정규 표현식을 사용하여 URL에서 쿼리 문자열 매개 변수를 제거하려고합니다.url에서 정규식을 사용하여 쿼리 문자열 매개 변수 제거

Stackoverflow에서 찾은 솔루션은 HttpValueCollection 또는 이와 유사한 도우미를 사용합니까? 아니면 전체 URL을 사용하지 않습니까? 쿼리 문자열 앞에. 가능한 경우 일반 정규식에서이 작업을하고 싶습니다.

제거 할 매개 변수 : remove=me.

샘플의 URL : 매개 변수가 제거

http://{domain}/?remove=me 
http://{domain}/?remove=me&foo=bar 
http://{domain}/?baz=qux&remove=me&foo=bar 
http://{domain}/?baz=qux&remove=me 
http://{domain}/?baz=qux&tmpremove=me 

후 나머지 URL이 손상 될 것이다. 아니오 "& &", 또는 "&?"에 "http : // {도메인}/&는 ..."하고는 만지지해야한다 "tmpremove을 = 나":-)

건배

+2

왜 당신이 정규 표현식을 사용 하시겠습니까 이미 일반에 관련되지 않은 작업 솔루션이있는 경우 - - 도구는 당신이 당신의 문제를 해결하기 위해 그것을 사용하는 것이 충분히 이해하지 못하는 표현? –

+0

URL에 손상이 없지만 "&&,"? & "등이 없으면 그 기호를 유지 하시겠습니까? – CAustin

+0

@CAustin, && 및? &는 부적절한 쿼리 부분 조작으로 인한 남은 부분입니다. . – bzlm

답변

0

경기 : (?:[?&]remove=me$)|(?:([?&])remove=me&(.+))

로 교체 : $1$2

+0

고마워요.하지만 http : // {domain}/& foo = bar가 괜찮은 것 같습니다. – user571188

+0

죄송합니다. 답변을 수정했습니다. – CAustin

+0

감사합니다. regexpr/regexpal에서 좀 이상하게 보이지만 .net에서 작동합니다. 내가 신임장을 갖고 있다면 이걸 상상해 보라. – user571188

관련 문제