2011-01-03 3 views
13

그래, 기본적으로 정규 표현식에 의해 URL을 일치시키는 코드가 있습니다. 그런 다음 URL이 일치하는 정규식을 기반으로 일부 함수를 호출합니다. 나는 URL을 촉구 할 하나 개 이상의 기능을 원하는 결코 내가 정규식 내가 일치하는 간단한 정규식 /를 사용하는 간단한 URL /로 예를 들어Regexs를 정확히 일치시키는 방법은 무엇입니까?

, "정확한"해야하는 일치 할 /하지만, /foo/foo/bar과도 일치합니다.

C#/Net에서 부분 일치 동작을 방지하려면 어떻게합니까?

+1

고유 한 경로 디스패처를 롤링하는 대신 .NET URL 라우팅을 사용해 보셨나요? –

+0

@JacobKrall 재미있게 언급 했어야합니다. 나는이 질문 이후 한달 동안 .Net의 방법보다 훨씬 더 독립적 인 방식으로 내 자신의 URL 라우팅을 구현했다. P – Earlz

답변

25

문자열의 시작을 일치시키는 데 ^을 사용하고 문자열의 끝에 일치 시키려면 $을 사용하십시오.

예 : ^/$/과 일치하지만 /foo은 아닙니다. 그리고 ^//foo과 일치하지만 foo/은 일치하지 않습니다.

+0

흠. 이 작업을 몇 가지 정규식 주위에 변경해야하지만이 대답을 것 같다. 이 작업을 수행 할 수 있는지 확신 할 수 없었습니다. 정규 표현식을 약간만 수정하십시오. – Earlz

-2

일치시키고 자하는 키워드의 시작과 끝 부분에 공백을 추가하십시오. 예를 들어, 문자열이 "Hey! foobar I am foo bar." 인 경우 이제 foo와 일치한다고 말할 수 있습니다. 이것을 할 수 있습니다 /\s+foo\s+/i 이것은 foobar가 아닌 foo에만 일치를 반환합니다.

+1

단어가 문장 또는 문자열의 첫 번째 문자열이거나 마지막 문자 인 경우 작동하지 않습니다. – Mat

관련 문제