정규식 2

정규식을 이용한 소스 Replace

레퍼런스가 존재하지 않는 C# DLL 을 디컴파일 하면 프로퍼티들이 get_XXX, set_XXX 형식으로 디컴파일 됨. 일일이 수작업으로 하려면 너무 무의미한 시간이 필요함. 그래서 정규식을 사용하면 순식간. 정규식 규칙상 괄호 ( ) 로 묶으면 그룹 1 번이 되고, replace 에서 $1 로 표현. - "get_XXX()" => "XXX" 찾을 문구 : get_([A-Za-z0-9]*)\(\) 바꿀 문구 : $1 - "set_XXX" => "XXX = " set_([a-zA-Z0-9]*)\( $1 = ( - 이벤트 핸들러 add_([A-Za-z0-9]*)\( $1 += ( \(object\)this, __methodptr\(([A-Za-z0-9_]*)\) $1

C# 2020.02.21

Visual Studio 편집기에서 replace 편하게 하기

가령 "하나", "둘", "셋" 을 _T("하나"), _T("둘"), _T("셋") 으로 바꿔야 하는 경우 일일이 수정하기가 힘이 든다. 이런게 몇 십개 혹은 몇 백개까지 바꿔야 하는 경우라면 자동으로 바꿀 수 있는 길을 찾아보게 된다. VS2015 기준으로 정규식으로 replace 하는 방법이 있다. 1. Ctrl + F 를 누른 후 replace 모드로 변경한다. 2. 상단 찾을 문자열에 \"\w*\" 을 입력한다. (정규식은 언어와 툴에 독립적인 규격이므로 구글링 하면 자세히 나옴. regular expression ) 3. 하단 바꿀 문자열에 _T($&) 을 입력한다. $& 는 찾은 문자열을 의미하므로 입맛에 맞게 조립하면 된다. PS. "-1" 같은 경우는 이 정규식으로 찾지를 못하는데 정규식에..

Windows Programming 2017.03.29