应用对象
Microsoft 365 专属 Excel Microsoft 365 Mac 版专属 Excel Excel 网页版 iPhone 版我的 Office

REGEXEXTRACT 函数允许基于提供的正则表达式从字符串中提取文本。 可以从第一个匹配中提取第一个匹配项、所有匹配项或捕获组。

语法

REGEXEXTRACT 函数提取所提供文本中与模式匹配的字符串。

REGEXEXTRACT 函数的语法为:

REGEXEXTRACT (文本、模式、[return_mode]、[case_sensitivity])

参数

说明

text

(必需)

文本或对包含要从中提取字符串的文本的单元格的引用。

模式

(必需)

正则表达式 (“regex”) ,用于描述要提取的文本模式。

return_mode

一个数字,指定要提取的字符串。 默认情况下,返回模式为 0。 可能的值为:

0: 返回与模式匹配的第一个字符串

1: 以数组形式返回与模式匹配的所有字符串

2: 以数组的形式返回第一个匹配项中的捕获组

注意:捕获组是正则表达式模式的一部分,用括号“ (...) ”括起来。 它们允许单独返回单个匹配的单独部分。

case_sensitivity

确定匹配项是否区分大小写。 默认情况下,匹配项区分大小写。 输入以下内容之一:

0: 区分大小写

1: 不区分大小写

注意: 

  • 最简单的模式是要匹配的文字文本。 例如,若要匹配文本“匹配我”,可以使用模式“匹配我”。

  • 还可以使用与各种字符匹配的名为“token”的符号。 下面是一些简单的令牌供参考:

  • “[0-9]”:任何数字

  • “[a-z]”:到 z 范围内的字符

  • “.”:任意字符

  • “a”:“a”字符

  • “a*”:零个或多个“a”

  • “a+”:一个或多个“a”

  • 此函数的所有正则表达式以及 REGEXTESTREGEXREPLACE 都使用正则表达式的 PCRE2“风格”。

  • REGEXEXTRACT 始终返回文本值。 可以使用 VALUE 函数将这些结果转换回数字。

示例

复制示例数据,然后将其粘贴进新的 Excel 工作表的 A1 单元格中。 如果需要,可调整列宽以查看所有数据。

使用模式“[A-Z][a-z]+”提取基于大写字母的名称

数据

DylanWilliams

公式

=REGEXEXTRACT (A2,“[A-Z][a-z]+”)

=REGEXEXTRACT (A2,“[A-Z][a-z]+”,1)

下图演示了这些结果。

REGEXEXTRACT 用于使用模式“[A-Z][a-z]+”提取名称数据

使用模式“[0-9 () ]+ [0-9-]+”根据其结构提取电话号码

数据

索尼娅里斯 (378) 555-4195 天使布朗 (878) 555-8622 布莱克·马丁 (437) 555-8987 William Kirby (619) 555-4212 艾弗里·史密斯 (579) 555-5658 帕克琼斯 (346) 555-0925 利亚姆小 (405) 555-0887 Hollie Rees (666) 555-1872

公式

=REGEXEXTRACT (A2,“[0-9 () ]+ [0-9-]+”,1)

下图显示了结果。

REGEXEXTRACT 用于使用模式“[0-9 () ]+ [0-9-]+”从混合文本中提取特定格式的多个电话号码

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。