다음을 통해 공유


정규식을 사용한 텍스트 검색 방법

적용 대상: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW)

SQL Server Management Studio 찾기 및 바꾸기 대화 상자의 찾을 내용 필드에서 다음 정규식은 문자나 숫자를 대체할 수 있습니다.

필수 조건

정규식을 사용하도록 설정하는 방법

다음은 검색에서 정규식을 사용하도록 설정하는 단계입니다.

  1. 편집>찾기 및 바꾸기>빠른 바꾸기로 이동합니다.
  2. 검색 창 옆에서 아래쪽 화살표>파일에서 찾기를 선택합니다.
  3. 찾기 및 바꾸기 창에서 찾기 옵션을 확장하고 정규식 사용을 선택합니다.

식 작성기 단추 옆에는 그런 다음 사용할 수 있게 되는 찾을 내용 필드가 있습니다. 이 단추를 선택하면 사용 가능한 정규식 목록이 표시됩니다. 식 작성기에서 임의의 항목을 선택하면 해당 항목이 찾을 내용 문자열에 삽입됩니다.

다음 테이블에서는 식 작성기의 일부 정규식을 설명합니다.

설명
. 줄 바꿈 이외의 모든 단일 문자를 찾습니다.
.* 임의의 문자와 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+): 하나 이상의 단어 문자(영숫자 및 밑줄)를 일치시키고 추출을 위해 캡처합니다.