如何使用規則運算式搜尋文字
適用於: SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics Analytics Platform System (PDW)
下列規則運算式可以取代 SQL Server Management Studio [尋找和取代] 對話方塊 [尋找目標] 欄位中的字元或數字。
必要條件
如何啟用規則運算式
以下步驟可在搜尋中啟用規則運算式。
- 移至 [編輯]>[尋找及取代]>[快速尋找]。
- 在搜尋列旁邊,選取 [向下鍵]>[檔案中尋找]。
- 在 [尋找及取代] 視窗中,展開 [尋找選項],然後選取 [使用規則運算式]。
接著,就可以使用 [尋找目標] 欄位旁的 [運算式產生器] 按鈕。 選取這個按鈕來顯示可用規則運算式的清單。 當您從 [運算式產生器] 中選擇任何項目時,項目會插入 [尋找目標] 字串中。
下表描述 [運算式產生器] 中的部分規則運算式。
運算式 | 描述 |
---|---|
. |
比對任何單一字元 (分行符號除外) |
.* |
比對任何字元零或多次 |
.+ |
比對任何字元一或多次 |
[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+):比對一或多個單字字元 (英數字元和底線),並擷取它們以進行擷取。
如需更多範例,請瀏覽 Visual Studio中的正則表示式