REGEXEXTRACT 函数

应用对象
Microsoft 365 专属 Excel Microsoft 365 Mac 版专属 Excel

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

语法

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

REGEXEXTRACT 函数的语法为:

REGEXEXTRACT (text, pattern, [return_mode], [case_sensitivity])

参数 说明
text
(必需)
文本或对包含要从中提取字符串的文本的单元格的引用。
模式
(必需)
正则表达式 (“regex”) 描述要提取的文本模式。
return_mode 一个数字,用于指定要提取的字符串。 默认情况下,返回模式为 0。 可能的值为:
0: 返回与模式匹配的第一个字符串
1: 以数组形式返回与模式匹配的所有字符串
2: 以数组的形式返回从第一个匹配项捕获的组
注意: 捕获组是正则表达式模式的一部分,周围环绕在圆括号“ (...) ”中。 它们允许您单独返回单个匹配项的各个部分。
case_sensitivity 确定匹配是否区分大小写。 默认情况下,匹配区分大小写。 输入以下内容之一:
0: 区分大小写
1: 不区分大小写

注意

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

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

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

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

  • “.”: 任何字符

  • “a”:“a”字符

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

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

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

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

示例

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

示例 1

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

数据
DylanWilliams
公式
=REGEXEXTRACT (A2,“[A-Z][a-z]+”)
=REGEXEXTRACT (A2,“[A-Z][a-z]+”,1)

下图演示了这些结果。

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

示例 2

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

数据
索尼娅·里斯 (378) 555-4195
Angel Brown (878) 555-8622
Blake Martin (437) 555-8987
威廉·柯比 (619) 555-4212
Avery Smith (579) 555-5658
Parker Jones (346) 555-0925
Liam Small (405) 555-0887
霍莉·里斯 (666) 555-1872
公式
=REGEXEXTRACT (A2,“[0-9 () ]+ [0-9-]+”,1)

下图演示了结果。

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