REGEXTEST 函数

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

使用 REGEXTEST 函数可以检查提供的文本的任何部分是否与正则表达式 (“regex”) 匹配。 如果有匹配项,则返回 TRUE;如果没有匹配项,则返回 FALSE。

语法

REGEXTEST 函数确定文本的任何部分是否与模式匹配。

REGEXTEST 函数的语法为:

REGEXTEST (文本、模式、[case_sensitivity])

参数 说明
text
(必需)
文本或对包含要匹配的文本的单元格的引用。
模式
(必需)
描述要匹配的文本模式的正则表达式 (“regex”) 。
case_sensitivity 确定匹配项是否区分大小写。 默认情况下,匹配项区分大小写。 输入以下内容之一:
0: 区分大小写
1: 不区分大小写

注意

编写正则表达式模式时,可以使用与各种字符匹配的名为“token”的符号。 下面是一些简单的令牌供参考:

  • “[0-9]”:任何数字
  • “[a-z]”:到 z 范围内的字符
  • “.”:任意字符
  • “a”:“a”字符
  • “a*”:零个或多个“a”
  • “a+”:一个或多个“a”
  • 此函数以及 REGEXEXTRACTREGEXREPLACE 的所有正则表达式都使用正则表达式的 PCRE2“flavor”。
  • REGEXEXTRACT 始终返回文本值。 可以使用 VALUE 函数将这些结果转换回数字。

示例

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

示例 1

检查字符串“alfalfa”的各个方面

数据
苜蓿
公式 问题
=REGEXTEST (A2,“a”) 它是否包含字母“a”?
=REGEXTEST (A2,“[a-z]”) 它是否包含小写字母?
=REGEXTEST (A2,“[A-Z]”) 它是否包含任何大写字母?
=REGEXTEST (A2,“[aeiou]”) 它是否包含任何元音?
=REGEXTEST (A2,“[0-9]”) 它是否包含任何数字?

下图演示了这些结果。

使用 REGEXTEXT 回答有关 alfalfa 单词的各种问题

示例 2

使用模式检查电话号码是否具有特定格式“ (####) ##-##”:

“^\ ([0-9]{3}\) [0-9]{3}-[0-9]{4}$”

注意

反斜杠“\”用于“转义”括号“ () ”和一些其他字符。 在此模式中,“\ (”被解释为“ (”,“\) ”被解释为“) ”

数据
(378) 555-4195
+1 (878) 555-8622
公式
=REGEXTEST (A2,“^\ ([0-9]{3}\) [0-9]{3}-[0-9]{4}$”)
=REGEXTEST (A2,“^\ ([0-9]{3}\) [0-9]{3}-[0-9]{4}$”)

下图显示了结果。

使用 REGEXTEST 检查电话号码是否采用特定语法,模式为 ^\ ([0-9]{3}\) [0-9]{3}-[0-9]{4}$