Visual Studio에서 찾기 / 바꾸기 기능에서 정규식 사용 방법..
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) 입니다.
상위 부분은 찾은 내용.. 하위 부분은 변경 내용 입니다.
이렇게 전체 소스에 대해서 대동소이한 내용을 바꿀 경우 사용하기 편리 합니다.