目录
Excel 正则表达式函数速览:REGEXTEST、REGEXEXTRACT 和 REGEXREPLACE
首页 软件教程 办公软件 如何在Excel中使用正则函数

如何在Excel中使用正则函数

Feb 06, 2025 pm 10:28 PM

Excel 正则表达式函数速览:REGEXTEST、REGEXEXTRACT 和 REGEXREPLACE

正则表达式 (REGEX) 是用于检查文本字符串是否符合给定模式以及提取或替换与给定模式匹配的文本字符串的搜索模式。鉴于其复杂性,本文提供其在 Excel 中使用的简化摘要和示例。

REGEX 函数适用于使用 Windows 或 Mac 版 Microsoft 365 Excel 的用户,以及使用网络版 Excel 的用户。

REGEXTEST:文本模式匹配测试

此函数测试文本字符串是否与给定模式匹配,根据测试结果返回 TRUE 或 FALSE。这是测试数据是否遵循特定模式的好方法。

语法

<code>REGEXTEST(a, b, c)</code>
登录后复制
登录后复制
登录后复制

其中:

  • a (必需) 是要测试的文本、值或包含文本的单元格引用。
  • b (必需) 是用于执行测试的模式。
  • c (可选) 如果希望测试区分大小写,则为 0;否则为 1。

REGEXTEST 使用示例

此电子表格包含必须遵循严格结构的产品代码列表。

How to Use the REGEX Functions in Excel

有效代码包含:

  • 产品尺寸的小写表示形式(“xs”表示特小,“s”表示小,“m”表示中等等),
  • 表示产品材料的一位或两位数字,
  • 表示产品制造地点的三个大写字母,以及
  • 三个部分之间用短横线分隔。

我们需要测试所有产品代码是否都匹配此结构。

因此,在单元格 B2 中,输入以下公式:

<code>=REGEXTEST([@Code],"[xs|s|m|l|xl]-[0-9]{1,2}-[A-Z]{3}",0)</code>
登录后复制
登录后复制
登录后复制

其中:

  • [@Code] 是包含要测试的代码的列的结构化引用。
  • [xs|s|m|l|xl] 是要测试的产品代码的第一部分,竖线表示“或”。
  • [0-9]{1,2} 是要测试的产品代码的第二部分,[0-9] 表示任何一位数字, {1,2} 表示可以有一位或两位数字。
  • [A-Z]{3} 是要测试的产品代码的第三部分,[A-Z] 表示任何大写字母, {3} 表示必须正好有三个大写字母。
  • 要测试的代码的三个部分用短横线分隔。
  • 0 是公式中的最后一个参数,它告诉 Excel 测试区分大小写。

按 Enter 键将此公式应用于 B 列中的所有行后,结果显示只有两个代码有效 (TRUE)。

How to Use the REGEX Functions in Excel

  • m-2-UK 无效(由 FALSE 结果指示),因为国家代码只包含两个大写字母。
  • xl-714-AUS 无效,因为材料代码包含三位数字。
  • S-5-USA 无效,因为尺寸代码是大写的。

此示例包含 []{} 等字符的使用。但是,还有许多其他字符(也称为标记)也可用于确定用于执行测试的模式,其中一些将在下面的示例中使用。

REGEXEXTRACT:提取特定文本片段

此函数根据指定的模式返回单元格中部分文本。例如,您可能希望分离数字和文本。

语法

<code>REGEXTEST(a, b, c)</code>
登录后复制
登录后复制
登录后复制

其中:

  • d (必需) 是要从中提取文本的文本、值或单元格引用。
  • e (必需) 是要提取的模式。
  • f (可选) 如果只想提取第一个匹配项,则为 0;如果要将所有适用的匹配项作为数组提取,则为 1;如果要从第一个匹配项提取组,则为 2。
  • g (可选) 如果希望提取区分大小写,则为 0;否则为 1。

由于格式化的 Excel 表格无法处理溢出数组,如果您打算在参数 f 中将匹配项作为数组提取,请确保您的数据是普通格式的。

REGEXEXTRACT 使用示例

在此示例中,需要将客户的姓名和电话号码提取到三个单独的列中。

How to Use the REGEX Functions in Excel

首先关注姓名。在单元格 B2 中,输入以下公式:

<code>=REGEXTEST([@Code],"[xs|s|m|l|xl]-[0-9]{1,2}-[A-Z]{3}",0)</code>
登录后复制
登录后复制
登录后复制

其中:

  • A2 是包含要提取数据的单元格。
  • [A-Z][a-z] 告诉 Excel 要提取任何以大写字母开头后跟小写字母的单词,其中 " " 表示要返回每个模式中一个或多个小写字母。
  • 1 表示希望将上述模式的每个示例作为数组分离到各个单元格中(换句话说,第一个姓名在单元格 B2 中,第二个姓名在单元格 C2 中)。如果省略此参数,Excel 将只在单元格 B2 中返回第一个匹配项(第一个姓名)。

按 Enter 键后,Excel 将成功执行提取并将淡蓝色线添加到单元格 C2 周围,以提醒您它是一个溢出数组。

How to Use the REGEX Functions in Excel

选择单元格 B2 后,现在可以使用单元格右下角的填充柄将此相对公式复制到其余的详细信息行。

How to Use the REGEX Functions in Excel

现在,需要使用类似的 REGEXTRACT 公式来提取客户的电话号码。在单元格 D2 中,输入以下公式:

<code>REGEXEXTRACT(d, e, f, g)</code>
登录后复制

其中:

  • A2 是包含要提取数据的单元格。
  • [0-9()] 从零到九的数字提取在圆括号内的数字,其中 " " 提取此模式中的一个或多个数字。
  • [0-9-] 提取字符串中剩余的数字,第二个 "-" 表示分隔电话号码的两个部分的短横线," " 告诉 Excel 如果字符串包含数字,则要提取一个或多个数字。

由于 A 列中每个单元格中此模式只有一个实例,因此不需要添加任何其他参数。同样,一旦检查了此公式是否产生预期结果,就可以使用填充柄将其复制到 D 列中的其余单元格。

How to Use the REGEX Functions in Excel

Excel 中还有其他方法可以提取数据并获得类似的结果,例如使用 TEXTSPLIT 函数或 Excel 的快速填充工具。

REGEXREPLACE:操作数据

此函数获取单元格中的文本并在另一个单元格中创建该数据的新版本。即使函数称为 REGEXREPLACE,它实际上并没有替换其原始位置中的原始文本。

语法

<code>REGEXTEST(a, b, c)</code>
登录后复制
登录后复制
登录后复制

其中:

  • h (必需) 是要替换的文本、值或包含文本的单元格引用。
  • i (必需) 是要替换的模式。
  • j (必需) 是要创建的替换内容。
  • k (可选) 是要替换的模式的出现次数。
  • l (可选) 如果希望替换区分大小写,则为 0;否则为 1。

REGEXREPLACE 使用示例

下面,可以看到 A 列中的一系列姓名。目标是在 B 列中重新创建这些姓名,但使用“姓氏,名字”格式,包括分隔姓名的逗号。

How to Use the REGEX Functions in Excel

在单元格 B2 中,输入以下公式:

<code>=REGEXTEST([@Code],"[xs|s|m|l|xl]-[0-9]{1,2}-[A-Z]{3}",0)</code>
登录后复制
登录后复制
登录后复制

其中:

  • [@Client name] 引用包含要影响的数据的列。
  • [A-Z][a-z] 在公式中包含两次(并用空格分隔),告诉 Excel 要获取包含大写字母后跟一个或多个小写字母的两个文本字符串。
  • , 告诉 Excel 要反转这两个文本字符串的顺序,并用逗号和空格分隔。如果不包含美元符号,Excel 将只返回“2, 1”作为每个单元格的结果。

没有在上面的公式中处理参数 kl,因为希望 Excel 替换所有出现(参数 k 的默认值),并且希望替换区分大小写(参数 l 的默认值)。

因为使用的是格式化表格,所以按 Enter 键后,公式将应用于 B 列中的其余单元格。

How to Use the REGEX Functions in Excel


正则表达式不仅可用于 Excel。实际上,可以使用 REGEX 自动执行计算机上的其他任务,例如修复复制粘贴的 PDF 文本、批量重命名下载的文件、格式化货币、去除 HTML 标记等等。

以上是如何在Excel中使用正则函数的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1664
14
CakePHP 教程
1422
52
Laravel 教程
1316
25
PHP教程
1268
29
C# 教程
1241
24
如果您不在Excel中重命名桌子,那么今天是开始的一天 如果您不在Excel中重命名桌子,那么今天是开始的一天 Apr 15, 2025 am 12:58 AM

快速链接 为什么应该在 Excel 中命名表格 如何在 Excel 中命名表格 Excel 表格命名规则和技巧 默认情况下,Excel 中的表格命名为 Table1、Table2、Table3,依此类推。但是,您不必坚持使用这些标签。事实上,如果您不这样做会更好!在本快速指南中,我将解释为什么您应该始终重命名 Excel 中的表格,并向您展示如何操作。 为什么应该在 Excel 中命名表格 虽然养成在 Excel 中命名表格的习惯可能需要一些时间(如果您通常不这样做的话),但以下原因说明了今

如何更改Excel表样式并删除表格格式 如何更改Excel表样式并删除表格格式 Apr 19, 2025 am 11:45 AM

本教程向您展示了如何在保留所有表功能的同时快速应用,修改和删除Excel表样式。 想让您的Excel桌子看起来完全想要吗?继续阅读! 创建Excel表之后,第一步是通常

如何在Excel中格式化溢出的阵列 如何在Excel中格式化溢出的阵列 Apr 10, 2025 pm 12:01 PM

Excel中使用公式型条件格式处理溢出数组 直接对Excel中溢出数组进行格式化可能会导致问题,尤其当数据形状或大小发生变化时。基于公式的条件格式规则允许在数据参数更改时自动调整格式。在列引用前添加美元符号 ($) 可以将规则应用于数据中的所有行。 在Excel中,您可以对单元格的值或背景应用直接格式化,以使电子表格更易于阅读。但是,当Excel公式返回一组值(称为溢出数组)时,如果数据的尺寸或形状发生变化,则应用直接格式化将导致问题。 假设您有此电子表格,其中包含PIVOTBY公式的溢出结果,

Excel匹配功能与公式示例 Excel匹配功能与公式示例 Apr 15, 2025 am 11:21 AM

本教程解释了如何在公式示例中使用excel中的匹配函数。它还显示了如何通过使用Vlookup和匹配的动态公式来改善查找公式。 在Microsoft Excel中,有许多不同的查找/参考

如何在Excel中使用枢轴函数 如何在Excel中使用枢轴函数 Apr 11, 2025 am 12:56 AM

快速链接枢轴语法

Excel:比较两个单元格中的字符串以进行匹配(对病例不敏感或精确) Excel:比较两个单元格中的字符串以进行匹配(对病例不敏感或精确) Apr 16, 2025 am 11:26 AM

该教程显示了如何比较Excel中的文本字符串,以了解不敏感和确切的匹配。您将学习许多公式,以通过其值,字符串长度或特定字符的出现数量来比较两个单元格

如何使所有人都可以访问Excel电子表格 如何使所有人都可以访问Excel电子表格 Apr 18, 2025 am 01:06 AM

提升Excel表格的可访问性:实用指南 创建Microsoft Excel工作簿时,务必采取必要的步骤,确保每个人都能访问它,尤其是在您计划与他人共享工作簿的情况下。本指南将分享一些实用技巧,帮助您实现这一目标。 使用描述性工作表名称 提高Excel工作簿可访问性的一种方法是更改工作表的名称。默认情况下,Excel工作表命名为Sheet1、Sheet2、Sheet3等等,这种非描述性的编号系统在您点击“ ”添加新工作表时会继续下去。 更改工作表名称使其更准确地描述工作表内容具有多重好处: 提

如何使用Excel的汇总函数来完善计算 如何使用Excel的汇总函数来完善计算 Apr 12, 2025 am 12:54 AM

快速链接汇总语法

See all articles