2026年5月29日

vbscript 搜尋替代功能如何使用 regular expression?


在 VBScript 中,若要使用正規表達式(Regular Expression)進行搜尋與取代,必須使用 VBScript.RegExp 物件以及其內建的 Replace 方法。 [1, 2]
💡 核心步驟與語法結構
請參閱微軟官方或相關的 VBScript RegExp 說明 深入學習。基本實作步驟如下: [1]
  1. 建立物件:使用 CreateObject("VBScript.RegExp") [1]
  2. 設定屬性
    • Pattern:填入你的正規表達式字串。
    • Global:設為 True 會取代所有符合的字串;設為 False 則只取代第一個(預設為 False)。
    • IgnoreCase:設為 True 代表忽略大小寫(預設為 False)。 [1]
  3. 執行取代:呼叫 .Replace(原始字串, 取代後的文字) [1]

💻 實戰範例
範例一:基本文字取代(無條件替換)
將句子中所有的 cat 替換為 dog。 [1]
vbscript
Dim regEx, result
Set regEx = CreateObject("VBScript.RegExp")
regEx.Pattern = "cat"    ' 搜尋 cat
regEx.Global = True      ' 全域取代
regEx.IgnoreCase = True  ' 忽略大小寫
result = regEx.Replace("The cat sat on the CAT mat.", "dog")
' 結果: The dog sat on the dog mat.
請謹慎使用程式碼。
範例二:進階群組捕捉與動態取代(使用 $1, $2)
利用小括號 () 建立「捕捉群組」,在取代字串中使用 $1$2 等符號來重排內容。 [1, 2]
vbscript
' 將 2026-05-29 轉換為 05/29/2026
regEx.Pattern = "(\d{4})-(\d{2})-(\d{2})"
result = regEx.Replace("2026-05-29", "$2/$3/$1")
' 結果: 05/29/2026
請謹慎使用程式碼。

🛠️ 常用屬性與方法總結
在使用 VBScript.RegExp 時,關鍵在於設置 Pattern (規則)、Global (全域) 與 IgnoreCase (忽略大小寫),並使用 Replace 方法執行替換。

沒有留言: