如何在 Google 表中使用从 0 到特定数字的区间量词正则表达式?

How to use the interval quantifier from 0 up to a specific number Regular expressions in Google Sheets?

我正在尝试解决这个问题:

如何在 REGEXMATCH Google Sheet 公式中使用从 04 的区间量词花括号“{}”来制作它仅匹配从 zero 次到 4 次出现的次数,不再匹配?

这里是我首先从(第 Quantifiers — * + ? and {} 部分)开始的来源和上下文 Regex tutorial — A quick cheatsheet by examples

指定以下内容:

a(bc){2,5}  matches a string that has a followed by 2 up to 5 copies of the sequence bc

我的公式是:

=REGEXMATCH($A7,"a(bc){0,4}")

这里是A7中的第一个input

abcbcbcbcbc

与预期相反,它 returns TRUE 尽管 A7A7 中有超过 4 个 bc 作为输入。

对于以下区间 {1,4}{2,4} 在 :

中出现同样与预期相反的结果

=REGEXMATCH($A7,"a(bc){1,4}")

=REGEXMATCH($A7,"a(bc){2,4}")

尽管在后两种情况下出现了 5 次 bc 的序列,但它仍然 returns 匹配。

这里是 Sheet: quantifier interval in regex from zero to defined interval end

我在这里阅读了一般的正则表达式信息答案 Learning Regular Expressions [closed] 但找不到解决方案。

如何使 return FALSE 对于 A7 中超过 4 个 bc 的任何输入?

非常感谢您的帮助!

默认情况下,正则表达式不必匹配您正在检查的整个字符串。如果正则表达式匹配所提供字符串的任何子字符串,该函数将 return True

要更改该行为,请添加字符 ^ 以匹配主题字符串的开头,并添加字符 $ 以匹配其结尾。

例如:=REGEXMATCH($A7,"^a(bc){0,4}$")不会匹配abcbcbcbcbc