REGEXEXTRACT 函數可讓您根據提供的規則運算式從字串擷取文字。 您可以從第一個匹配中提取第一個匹配、所有匹配或捕獲組。
語法
REGEXEXTRACT 函數會擷取所提供文字中符合模式的字串。
REGEXEXTRACT 函數的語法為:
REGEXEXTRACT (文字、模式、[return_mode]、[case_sensitivity])
| 引數 | 描述 |
|---|---|
|
text (必要) |
包含您要從中擷取字串之文字的文字或儲存格參照。 |
|
圖樣 (必要) |
規則運算式 (“regex”) 描述您想要擷取的文字模式。 |
| return_mode | 指定所要擷取字串的數字。 預設情況下,返回模式為 0。 可能的值為: 0: 傳回符合模式的第一個字串 1: 以陣列形式傳回符合模式的所有字串 2: 將第一個相符項目中的擷取群組作為陣列傳回 注意: 擷取群組是正則運算式模式的一部分,周圍環繞著括弧 「 (...) 」。 它們允許您單獨返回單個匹配的單獨部分。 |
| case_sensitivity | 判斷相符是否區分大小寫。 根據預設,相符會區分大小寫。 請輸入下列其中一項: 0: 區分大小寫 1: 不區分大小寫 |
注意
最簡單的模式是您想要比對的文字。 例如,若要比對文字 “Match Me”,您可以使用 “Match Me” 模式。
也可以使用稱為「標記」的符號來與各種字元相匹配。 以下是一些簡單的 Token 供參考:
“[0-9]”:任何數字
“[a-z]”:A 到 z 範圍內的字元
“.”:任何字元
“a”:“a” 字元
“a*”:零個或多個 “a”
“A+”:一或多個 “A”
此函數的所有規則運算式,以及 REGEXTEST 和 REGEXREPLACE 都使用 PCRE2 規則運算式的「方式」。
REGEXEXTRACT 一律會傳回文字值。 您可以使用 VALUE 函數將這些結果轉換回數值。
範例
複製範例資料,並將其貼到新 Excel 工作表的儲存格 A1 中。 如有需要,您可以調整欄寬來查看所有資料。
範例 1
以大寫字母為基礎且模式為「[A-Z][a-z]+」擷取名稱
| 資料 |
|---|
| 迪倫·威廉姆斯 |
| 公式 |
| =REGEXEXTRACT (A2,“[A-Z][a-z]+”) |
| =REGEXEXTRACT (A2,“[A-Z][A-z]+”,1) |
下圖顯示結果。
範例 2
根據具有模式「[0-9 () ]+ [0-9-]+」的結構提取電話號碼
| 資料 |
|---|
| 索尼婭·里斯 (378) 555-4195 Angel Brown (878) 555-8622 布萊克·馬丁 (437) 555-8987 威廉·柯比 (619) 555-4212 Avery Smith (579) 555-5658 帕克·瓊斯 (346) 555-0925 利亞姆·斯莫爾 (405) 555-0887 霍莉·里斯 (666) 555-1872 |
| 公式 |
| =REGEXEXTRACT (A2,“[0-9 () ]+ [0-9-]+”,1) |
下圖顯示結果。