REGEX.EXTRACT

REGEX.EXTRACT 函數會傳回來源字串中指定正規表示式的符合項目內的符合項目或截取群組。

REGEX.EXTRACT(來源字串, 正規表示式字串, 符合次數, 截取群組次數)

來源字串: 需符合的字串值。

正規表示式字串: 表示正規表示式的字串值,用於配合來源字串

符合次數: 如有多個符合項目,表示應傳回哪一個符合項目的整數(可留空)。 亦會接受負整數,並允許向後取用符合項目,所以 -1 是最後一個項合項目,以此類推。如已指定為 0,會傳回所有符合項目的陣列。如忽略,則會傳回第一個符合項目。

截取群組次數: 如在正規表示式中有截取群組,表示要傳回符合項目中哪一個截取群組的整數(可留空)。 不會接受負值。如已傳回 0,會傳回所有截取群組的陣列。如忽略,則會傳回整個符合項目。

備註

  • 正規表示式字串需符合 ICU 標準。

範例

如試算表的橫列和直欄無法輕易容納你擁有的資料,你可以使用 REGEX.EXTRACT 來將其簡化。例如,在以下的表格中,資料有一些結構,但可能難以透過手動將每個評論的資料分開放進多個輸入格。

A

1

用户評論

2

電郵:jtalma@icloud.com 姓名:Julie Talma 日期:17/5/2021

3

電郵:danny_rico@icloud.com 姓名:Danny Rico 日期:2/6/2021

如要將此修正,你可以為表格加入更多直欄以供「姓名」、「電郵」、「評分」和「日期」使用,然後使用 REGEX.EXTRACT 來尋找你要的資料並將其傳回輸入格。

例如,你可以輸入以下的公式以傳回姓名:

「公式編輯器」顯示公式 =REGEX.EXTRACT(A2,"(?<=姓名:)(.*)(?= 日期)"。

在此公式中使用了以下引數:

  • 來源字串:A2,包含你要尋找姓名的資料之輸入格。

  • 正規表示式字串:"(?<=姓名:)(.*)(?= 日期)",會搜尋字串「姓名:」和「日期」間的文字之正規表示式。

此公式可為每列資料重複,以傳回已回應調查的每個人之姓名,方法是更改來源字串以匹配其他包括用户評論資料的其他輸入格。

如要將此修正,你可以為表格加入更多直欄以供「姓名」、「電郵」、「評分」和「日期」使用,然後使用 REGEX.EXTRACT 來尋找你要的資料並將其傳回輸入格。

例如,你可以輸入以下的公式:

「公式編輯器」顯示公式 =REGEX.EXTRACT(A2,"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}")

在此公式中使用了以下引數:

  • 來源字串:A2,包含你要尋找電郵的資料之輸入格。

  • 正規表示式字串:"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}",會搜尋電郵地址模式的正規表示式。

使用符合次數識別來自列表的資料

有時候,你可能會有類似以下表格(標題為「供應商」),其會在輸入格中將值分組到一起:

供應商

項目

A

扁豆、鷹嘴豆、利馬豆

B

蘋果、橙、檸檬

C

藜麥、白米、奇亞籽

如要根據商店和排位來將值分開,你可以先製作一個新的表格,類似以下的表格:

A

B

C

D

1

排位

A

B

C

2

1

3

2

4

3

如要傳回「扁豆」(「供應商 A」排位第一的項目),你可以在新表格的輸入格 B2 使用類似這個的公式以傳回「扁豆」(「供應商 A」排位第一的項目):

「公式編輯器」顯示公式 =REGEX.EXTRACT(供應商::B2,"\w+",ROW(A2)-1)。

在此公式中使用了以下引數:

  • 來源字串:供應商::B2,包含你要尋找的資料之輸入格。在此情況下,你想在此輸入格中搜尋列表。

  • 正規表示式字串:"\w+",會搜尋單字的正規表示式。

  • 符合次數:ROW(A2)-1。在此情況下,每個 REGEX.EXTRACT 會有三個符合項目,且你可以使用另一個函數(例如 ROW)來設定你要的指定符合項目。ROW(A2) 會傳回所選輸入格(2)的橫列編號,且會包括 -1 以從結果減去標題列;否則,在此範例中,系統會傳回「鷹嘴豆」(第二個符合項目)。

    如你省略符合次數,系統就總是會傳回每個供應商的第一個單字(「供應商 A」為「扁豆」,「供應商 B」為「蘋果」等)。

以上的公式可被輕鬆修改,以完成其他供應商和其他項目的表格。

  • 如要傳回單一供應商的其他受歡迎產品,你可以修改符合次數。例如,如要傳回「鷹嘴豆」(「供應商 A」第二受歡迎的項目),你可以更改從 A2 至 A3 的符合次數中更改輸入格參照。

  • 如要傳回另一個供應商的值,你可以修改來源字串。例如,如要傳回「蘋果」(「供應商 B」最歡迎的項目),你可以更改從 B2 至 B3 的來源字串中更改輸入格參照。

其他範例

讓 A1 為「marina@example.com john@example.ca mike@example.de」。

=REGEX.EXTRACT(A1, "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})") 會傳回「marina@example.com」。

=REGEX.EXTRACT(A1, "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})", 2) 會傳回「john@appleseed.ca」。

=REGEX.EXTRACT(A1, "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})", -1) 會傳回「mikeexample.de」。

=REGEX.EXTRACT(A1, "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})", 1, 1) 會傳回「marina」。

=REGEX.EXTRACT(A1, "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})", 2, 2) 會傳回「example.ca」。

也請參閲REGEX
Morty Proxy This is a proxified and sanitized view of the page, visit original site.
有幫助?
字元限制: 250
字元數目上限為 250。
感謝您提供意見。
Morty Proxy This is a proxified and sanitized view of the page, visit original site.