C#

정규식을 이용한 소스 Replace

오즈마스터 2020. 2. 21. 09:55

레퍼런스가 존재하지 않는 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