.Net Framework Standard

Visual Studio에서 찾기 / 바꾸기 기능에서 정규식 사용 방법..

달빛에취하다 2018. 4. 6. 17:48

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)   입니다.



상위 부분은 찾은 내용.. 하위 부분은 변경 내용 입니다.


이렇게 전체 소스에 대해서 대동소이한 내용을 바꿀 경우 사용하기 편리 합니다.