나는 정규식이 있습니다Visual Studio에서이 역 정규식 일치가 작동하지 않는 이유는 무엇입니까?
Rubular에서 작동 예상대로 두 문자열의 초 일치ConfigurationManager.ConnectionStrings.Item\(\"((?!foo).)*\"
:
ConfigurationManager.ConnectionStrings.Item("foo")
ConfigurationManager.ConnectionStrings.Item("bar")
그러나, 나는 비주얼 스튜디오 2005에서 같은 표현을 실행하는 경우 - 나는 성냥이 없어. 단어가 foo
과 일치하지 않으므로 실제로 ConfigurationManager.ConnectionStrings.Item...
이있는 모든 단일 인스턴스와 일치해야합니다.
물론 Visual Studio에서는 역식이 작동하지 않는 한.
그렇다면 Visual Studio 2005에서 동일한 결과를 얻으려면 어떻게해야합니까?
VisualStudio를 모르지만 [Reverse Lookaround] (http://www.regular-expressions.info/lookaround.html)는 많은 Regex 엔진에서 구현되지 않았습니다. –
@dystroy, 나는 이상하게 여겼다. 그것은 내가 추측하는 구현자를위한 최후의 경우 인 것들 중 하나입니다. 그래서 그것들이 돌아 다니면 완료됩니다. 꽤 복잡한 것 같아요. –
@dystroy .NET에 있습니다. 그리고 실제로는 - 대부분의 현대 정규식 엔진에서 어느 정도까지입니다. 여기에 사용 된 고정 길이 어설 션은 거의 보편적으로 지원됩니다./편집 아,이 VS에 대한 검색 및 바꾸기 기능에 관한 것입니다. 그런 다음 모든 배팅이 해제됩니다. –