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 单元格中。 如果需要,可调整列宽以查看所有数据。
示例 1
使用模式“[A-Z][a-z]+”提取基于大写字母的名称
| 数据 |
|---|
| DylanWilliams |
| 公式 |
| =REGEXEXTRACT (A2,“[A-Z][a-z]+”) |
| =REGEXEXTRACT (A2,“[A-Z][a-z]+”,1) |
下图演示了这些结果。
示例 2
使用模式“[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) |
下图显示了结果。