跳到主要內容 跳至補充內容

IndexRegExGroup - 指令碼與圖表函數

IndexRegExGroup() 會搜尋輸入字串並傳回指定複合規則運算式模式第 n 次出現的起始位置。可選的第四個引數 count 會提供 n 的值,如果省略則為 1。字串中的位置編號是由左至右從 1 算起。如果未找到相符項,則該函數會傳回 0。

此函數執行區分大小寫的 Regex 操作。您也可以使用變體 IndexRegExGroupI() 來執行不區分大小寫的 Regex 操作。

語法:  

IndexRegExGroup (text, regex, group [, count])

傳回的資料類型: 整數

引數
引數 描述
text 要在其中搜尋規則運算式的輸入字串文字。
regex 用於搜尋輸入字串的規則運算式。
group

在複合規則運算式的情況下,群組的編號。

group0 值傳回整個 Regex 的索引。但是,如果規則運算式只需要傳回整個相符項的索引,請改用 IndexRegEx() 函數。

您可以指定負 group 值以從右到左搜尋相符項。

count

相符項的編號。當可能在文字中找到規則運算式的多個相符項時,這非常有用。例如,指定值 4 以搜尋第四個相符項的位置。

此為選用引數。如果未指定,則預設為 1。您可以指定負值以從右到左搜尋相符項。

函數範例
範例 結果
IndexRegExGroup('abc123','([a-z])([0-9]+)',0) 傳回 3 (完整規則運算式的起始位置)。
IndexRegExGroup('abc123','([a-z])([0-9]+)',1) 傳回 3 (第一個群組的起始位置)。
IndexRegExGroup('abc123','([a-z])([0-9]+)',2) 傳回 4,這是第二個群組的起始位置。在輸入 Regex 模式中,字串 ([0-9]+) 對應於第二個群組。
IndexRegExGroup('ABC123','([a-z])([0-9]+)',1) 傳回 0,因為 IndexRegExGroup() 區分大小寫。
IndexRegExGroupI('ABC123','([a-z])([0-9]+)',1) 傳回 3。使用不區分大小寫的函數變體 IndexRegExI()

使用情境

此函數的使用案例包括:

  • 辨識特定文字模式在較大文字內文中出現的位置。例如,您可能想要知道電子郵件地址的網域在一系列長電子郵件中的使用位置。

  • IndexRegExGroup() 特別適合用於進階資料處理,並且通常在更長、更複雜的轉換的第一步中使用。使用其他規則運算式函數 (例如 ExtractRegExGroup()MatchRegEx()CountRegEx()) 通常更容易解決問題,但有時 IndexRegExGroup() 可以提供這些函數無法提供的解決方案。

範例 1 – 用於尋找 ISBN 元件位置的載入指令碼

範例 2 – 用於尋找 URL 位置的圖表運算式 (使用 IndexRegEx() 比較)

此頁面是否對您有幫助?

若您發現此頁面或其內容有任何問題——錯字、遺漏步驟或技術錯誤——請告知我們可以如何改善!