Visual Studio에서 정규식을 이용하여 소스 코드를 찾거나 변경하는 방법에 대한 예제 입니다.
( 소스 구조가 비슷한 내용에 대해서 일괄적으로 찾기 / 바꾸기가 가능 합니다.)
Ctrl + Alt + F 혹은 H (F는 찾기, H는 바꾸기 로 동일화면의 탭으로 구분됩니다.)
정규식을 사용하기 찾기, 바꾸기를 사용하기 위해서는 찾기 옵션에서 정규식 사용을 체크해 주셔야 합니다.
사용된 찾기 정규식 표현
\.Rows\[([0-9a-zA-Z_\-"\.\,/ ]+)\]\[([0-9a-zA-Z_\-"\.\,/ ]+)\][ ]+=[ ]+([0-9a-zA-Z_\-"\.\,\)\(\}\{\}\[\]/ ]+)
\.Rows\[ ( [0-9a-zA-Z_\-"\.\,/ ]+ ) \] \[ ( [0-9a-zA-Z_\-"\.\,/ ]+ ) \] [ ]+ = [ ]+ ( [0-9a-zA-Z_\-"\.\,\)\(\}\{\}\[\]/ ]+ )
1. 하기 표현에서 A1-? - 숫자 영대소문자 , . - _ 공백 " 문자들은 포함할 수 있는 문자열
2. 하기 표현에서 B1 - 공백이 0개 이상
3. 하기 표현에서 C1 - 숫자 영대소문자 , . - _ 공백 " [ ] ( ) { } 문자들은 포함할 수 있는 문자열
4. A1, C1은 바꾸에서 사용하기 위해 괄호 ( ) 로 그룹화 되어 있음.
그룹1 - A1-1
그룹2 - A1-2
그룹3 - C1
.Row[ A1-1 ][ A1-2 ]B1=B1 C1
와 같은 문자열 찾기 입니다. 결과는 하기 이미지
위 내용을 DataRow에 대해서 새로 생성한 확장함수 ExSetValue(DataRow, Column, Value) 를 사용하도록 전체 변경하겠습니다.
위에서 그룹화한 (괄호 () 로 묶었던 4번 항목 확인) 부분을 3개가 있으며 왼쪽부터 순서대로 $1, $2, $3 으로 표기 됩니다.
그래서 사용한 변경 식은 .Rows[$1].ExSetValue($2, $3) 입니다.
상위 부분은 찾은 내용.. 하위 부분은 변경 내용 입니다.
이렇게 전체 소스에 대해서 대동소이한 내용을 바꿀 경우 사용하기 편리 합니다.
'.Net Framework Standard' 카테고리의 다른 글
[C#] WebService .asmx 오류 전역 (예외)처리 (1) | 2019.06.17 |
---|---|
[ClickOnce] 배포 후 업데이트 오류시- 폴더 삭제 혹은 Registry 삭제 (0) | 2018.08.28 |
Visual Studio 2012 Web Project Debuging 시 IIS Express 64bit 사용하기 (0) | 2017.08.11 |
Uri Class의 문자열 자동 Escape 문제 처리. (0) | 2017.08.08 |
Windows SDK 기본 지원 ILDASM 툴에 대한 C# 소스 디어셈블리 보호.. (0) | 2016.08.01 |