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”
-
此函数的所有正则表达式以及 REGEXTEST 和 REGEXREPLACE 都使用正则表达式的 PCRE2“风格”。
-
REGEXEXTRACT 始终返回文本值。 可以使用 VALUE 函数将这些结果转换回数字。
示例
复制示例数据并将其粘贴到新 Excel 工作表的单元格 A1 中。 如果需要,可以调整列宽以查看所有数据。
使用模式“[A-Z][a-z]+”提取基于大写字母的名称
数据 |
DylanWilliams |
公式 |
=REGEXEXTRACT (A2,“[A-Z][a-z]+”) |
=REGEXEXTRACT (A2,“[A-Z][a-z]+”,1) |
下图显示了结果。
使用模式“[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) |
下图显示了结果。