Visual Studio, 정규식 찾기 및 바꾸기


143

Visual Studio 2005에서 찾기 및 바꾸기 기능 #include "whatever.h"#include <whatever.h>사용하여 모든 것을 바꾸려고합니다 . 정규식 \#include \"[a-z\.h]+\"을 사용 하여 include 문을 찾았습니다. 그러나 정규식을 대체하는 프레임이 궁금합니다.

\#include \<[a-z\.h]+\>작동하지 않으며 작동하지 않습니다. 문을 #include "whatever.h"로 바꿉니다 #include <[a-z.h]+>. 교체 정규식을 그대로 유지하려면 어떻게해야 whatever.h합니까?

답변:


225

Visual Studio 2012 이전 버전의
경우 : 이 작업을 수행 할 때 작동합니다 :
find include "{[a-zA-Z]+\.h}",
replace include <\1>.
귀하의 질문에 가장 관련성이 높은 부분은 중괄호 {}와 역 참조입니다 \1: \n검색 표현식에서 중괄호로 표시된 n 번째 그룹에 대한 참조입니다.

Visual Studio 2012 이상 버전 :
VS2012 .NET Framework부터 정규 표현식이 사용됩니다. 따라서
find include "([a-zA-Z]+\.h)",
replace로 교체하십시오 include <$1>.


5
이것은이 기능에 괄호를 사용하는 표준 정규 표현식 구문과 다른 것 같습니다.
고블린 연금술사

44
이제 Visual Studio 2012와 다릅니다. \ 1 대신 $ 1을 사용해야합니다. ()는 이제 {}을 대체합니다. 이제 다른 사람들과 더 일관성이 있습니다. msdn.microsoft.com/ko-kr/library/2k3te2cs(v=vs.110).aspx
oillio

1
[a-zA-Z0-9_]더 많은 파일 이름을 캡처하는 데 사용 합니다.
Reinier Torenbeek

1

대소 문자가 포함 된 정규 표현식에 대해 대소 문자 구분 및 정규식을 모두 선택해야합니다. 다른 [az]는 작동하지 않습니다.여기에 이미지 설명을 입력하십시오

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.