정규식을 사용한 텍스트 검색 방법
적용 대상: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW)
SQL Server Management Studio 찾기 및 바꾸기 대화 상자의 찾을 내용 필드에서 다음 정규식은 문자나 숫자를 대체할 수 있습니다.
필수 조건
정규식을 사용하도록 설정하는 방법
다음은 검색에서 정규식을 사용하도록 설정하는 단계입니다.
- 편집>찾기 및 바꾸기>빠른 바꾸기로 이동합니다.
- 검색 창 옆에서 아래쪽 화살표>파일에서 찾기를 선택합니다.
- 찾기 및 바꾸기 창에서 찾기 옵션을 확장하고 정규식 사용을 선택합니다.
식 작성기 단추 옆에는 그런 다음 사용할 수 있게 되는 찾을 내용 필드가 있습니다. 이 단추를 선택하면 사용 가능한 정규식 목록이 표시됩니다. 식 작성기에서 임의의 항목을 선택하면 해당 항목이 찾을 내용 문자열에 삽입됩니다.
다음 테이블에서는 식 작성기의 일부 정규식을 설명합니다.
식 | 설명 |
---|---|
. |
줄 바꿈 이외의 모든 단일 문자를 찾습니다. |
.* |
임의의 문자와 0회 이상 일치 |
.+ |
임의의 문자와 하나 이상 일치 |
[abc] |
abc 집합에 있는 임의의 문자와 하나 이상 일치 |
[^abc] |
abc 집합에 없는 임의의 문자와 하나 이상 일치 |
\d |
임의 숫자 문자를 찾습니다. |
(?([^\r\n])\s) |
공백 문자를 찾습니다. |
\b |
단어의 시작 또는 끝에서 일치 |
^ |
줄 시작 부분의 일치 |
.$ |
임의의 줄 바꿈 일치 |
\w\r?\n |
줄 끝에 있는 단어 문자 일치 |
(dog | cat) |
dog | cat 식 캡처 및 암시적으로 번호 매기기 |
(?<pet>dog | cat) |
dog | cat 하위 식 캡처 및 pet 로 이름 지정 |
예제
몇 가지 정규식 예제입니다.
예제 1: 모든 Select 문 찾기
SQL 스크립트에서 모든 SELECT 문을 찾으려고 합니다.
SELECT\s+.*\s+FROM
예제 1의 설명
- SELECT\s+: "SELECT"라는 단어와 하나 이상의 공백 문자를 찾습니다.
- .*: 모든 문자(줄 종결자 제외)를 0회 이상 일치시킵니다.
- \s+FROM: 하나 이상의 공백 문자와 "FROM"이라는 단어를 찾습니다.
예제 2: 특정 명명 패턴이 있는 프로시저 찾기
SQL 스크립트에서 "usp_"로 시작하는 모든 저장 프로시저를 찾으려고 합니다.
CREATE\s+PROCEDURE\s+usp_[A-Za-z0-9_]+
예제 2의 설명
- CREATE\s+PROCEDURE\s+: "CREATE PROCEDURE"라는 단어와 하나 이상의 공백 문자를 찾습니다.
- usp_: "usp_" 리터럴 문자열과 일치시킵니다.
- [A-Za-z0-9_]+: 하나 이상의 영숫자 문자 또는 밑줄과 일치시킵니다.
예제 3: SQL 스크립트에서 주석 찾기
SQL 스크립트에서 모든 단일 줄 주석(--부터 시작)를 식별하려고 합니다.
--.*
예제 3의 설명
- --: "--" 리터럴 문자열과 일치시킵니다.
- .*: 모든 문자(줄 종결자 제외)를 0회 이상 일치시킵니다.
예제 4: 모든 업데이트 문 찾기
SQL 스크립트에서 모든 UPDATE 문을 찾으려고 합니다.
UPDATE\s+.*\s+SET
예제 4의 설명
- UPDATE\s+: "UPDATE"라는 단어와 하나 이상의 공백 문자를 찾습니다.
- .*: 모든 문자(줄 종결자 제외)를 0회 이상 일치시킵니다.
- \s+SET: 하나 이상의 공백 문자와 단어 "SET"를 찾습니다.
예제 5: DDL 문에서 테이블 이름 찾기
SQL 스크립트의 CREATE TABLE 문에서 테이블 이름을 추출하려고 합니다.
CREATE\s+TABLE\s+(\w+)
예제 5의 설명
- CREATE\s+TABLE\s+: "CREATE TABLE"이라는 단어와 하나 이상의 공백 문자를 찾습니다.
- (\w+): 하나 이상의 단어 문자(영숫자 및 밑줄)를 일치시키고 추출을 위해 캡처합니다.
자세한 예시는 Visual Studio의 정규식을 참조하세요.