分享方式:


如何使用規則運算式搜尋文字

適用於: SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics Analytics Platform System (PDW)

下列規則運算式可以取代 SQL Server Management Studio [尋找和取代] 對話方塊 [尋找目標] 欄位中的字元或數字。

必要條件

如何啟用規則運算式

以下步驟可在搜尋中啟用規則運算式。

  1. 移至 [編輯]>[尋找及取代]>[快速尋找]
  2. 在搜尋列旁邊,選取 [向下鍵]>[檔案中尋找]
  3. 在 [尋找及取代] 視窗中,展開 [尋找選項],然後選取 [使用規則運算式]

接著,就可以使用 [尋找目標] 欄位旁的 [運算式產生器] 按鈕。 選取這個按鈕來顯示可用規則運算式的清單。 當您從 [運算式產生器] 中選擇任何項目時,項目會插入 [尋找目標] 字串中。

下表描述 [運算式產生器] 中的部分規則運算式。

運算式 描述
. 比對任何單一字元 (分行符號除外)
.* 比對任何字元零或多次
.+ 比對任何字元一或多次
[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" 一字,後面接著一或多個空白字元。
  • .*:比對任何字元 (行終止符除外) 零次或多次。
  • \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 的說明

  • --:比對常值字串 "--"。
  • .*:比對任何字元 (行終止符除外) 零次或多次。

範例 4:尋找所有 Update 陳述式

您想要在 SQL 指令碼中尋找所有 UPDATE 陳述式。

UPDATE\s+.*\s+SET

範例 4 的說明

  • UPDATE\s+:比對 "UPDATE" 一字,後面接著一個或多個空白字元。
  • .*:比對任何字元 (行終止符除外) 零次或多次。
  • \s+SET:比對一或多個空白字元,後面接著 "SET" 一字。

範例 5:在 DDL 陳述式中尋找 Table 名稱

您想要從 SQL 指令碼中的 CREATE TABLE 陳述式擷取資料表名稱。

CREATE\s+TABLE\s+(\w+)

範例 5 的說明

  • CREATE\s+TABLE\s+:比對 "CREATE TABLE" 一字,後面接著一或多個空白字元。
  • (\w+):比對一或多個單字字元 (英數字元和底線),並擷取它們以進行擷取。