1
는 가 정규식 경로 제약
Bar
FooBar
경기를 일치BarBaz
일치하지 않습니다 http://regexhero.net/tester/ ^(?!Bar$)
Foo
경기 로 테스트
FooBarBaz
경기
경로 제한을 설정할 때 동일한 결과를 얻으려면 ^(?!Bar$).*
을 사용해야합니다. 왜 그런가요?
는 가 정규식 경로 제약
Bar
FooBar
경기를 일치BarBaz
일치하지 않습니다 http://regexhero.net/tester/ ^(?!Bar$)
Foo
경기FooBarBaz
경기경로 제한을 설정할 때 동일한 결과를 얻으려면 ^(?!Bar$).*
을 사용해야합니다. 왜 그런가요?
첫 번째 표현식은 실제로 문자열의 어떤 부분도 '덮어 쓰지 않습니다. 테스트 된 문자열의 특정 위치 (앵커)에서 ^
및 (?!...)
하위 표현식이 일치합니다 (실제로 둘 다 동일한 위치에서 일치하려고 시도하며 처음부터 오른쪽으로 시도하고 즉시 실패합니다).
그리고 - ^(?!Bar$).*
- 실제로 모든 문자열을 '포함'합니다. 나는 그것이 차이라고 생각한다.
감사합니다. 테스터의 가능한 문제에 대해 테스터 제작자에게 알렸습니다. – Stijn
@Stijn - Raina77ow는 좋은 대답을 가지고 있습니다. Regex Route 제약 조건이 일치 길이가이 동작을 설명하는 문자열 길이와 같은지 확인하기 위해 코드 뒤에 있습니다. 또한 여기에 귀하의 질문에 답변 ... https://wwwatisfaction.com/bucketsoft/topics/regex_route_constraint_with_negative_lookahead_in_mvc_3 –
@SteveWortham 귀하의 의견을 보내 주셔서 감사합니다 – Stijn