Regex 如何在Google Sheets中使用从0到特定数字的区间量词正则表达式?
我试图解决这个问题: 如何在REGEXMATCH Google Sheets公式中使用区间量词curlybraces“Regex 如何在Google Sheets中使用从0到特定数字的区间量词正则表达式?,regex,google-sheets,google-sheets-formula,Regex,Google Sheets,Google Sheets Formula,我试图解决这个问题: 如何在REGEXMATCH Google Sheets公式中使用区间量词curlybraces“{}”从0到4,使其仅匹配0到4的出现次数,而不匹配更多 在这里,我首先从源代码和上下文开始(小节量词-*+?和{}) 指定以下内容: 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}
{}
”从0
到4
,使其仅匹配0
到4
的出现次数,而不匹配更多
在这里,我首先从源代码和上下文开始(小节量词-*+?和{}
)
指定以下内容:
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中的第一个输入
:
abcbc
与预期相反,它返回TRUE
,尽管A7
中有超过4个bc
作为输入
以下时间间隔{1,4}
和{2,4}
中出现了与预期相反的结果:
=REGEXMATCH($A7,“a(bc){1,4}”)
=REGEXMATCH($A7,“a(bc){2,4}”)
尽管在后两种情况下出现了5次bc
序列,它仍然返回匹配
这张纸:
我在这里阅读了一般正则表达式信息的答案,但找不到解决方案
对于A7
中超过4个bc
的任何输入,如何使其返回FALSE
非常感谢你的帮助 默认情况下,正则表达式不必匹配要检查的整个字符串。如果正则表达式与所提供字符串的任何子字符串匹配,则函数将返回
True
要更改该行为,请添加字符^
以匹配主题字符串的开头,并添加字符$
以匹配其结尾
例如:
=REGEXMATCH($A7,“^a(bc){0,4}$”)
将不匹配abcbc
默认情况下,正则表达式不必匹配正在检查它的整个字符串。如果正则表达式与所提供字符串的任何子字符串匹配,则函数将返回True
要更改该行为,请添加字符^
以匹配主题字符串的开头,并添加字符$
以匹配其结尾
例如:
=REGEXMATCH($A7,“^a(bc){0,4}$”)
将不匹配abcbc
尝试使用锚定^a(bc){2,4}$
谢谢@The third bird。它起作用了!当心!尝试使用锚定^a(bc){2,4}$
谢谢@第四只鸟。它起作用了!当心!感谢@theblackips的解释,这很有意义,而且效果很好!当心!感谢@theblackips的解释,这很有意义,而且效果很好!当心!