Google Spreadsheets Regex Case Insensitive(Regexreplace)

时间:2014-07-09 01:52:52

标签: regex google-sheets google-apps

我正在尝试使用regexreplace函数在Google Spreadsheets中创建不区分大小写的正则表达式查询。那可能吗?我已经尝试了\ i标志并得到#REF错误说表达式无效:= regexreplace(“Test”,“t \ i”,“”)给出错误,当我希望得到“es”作为最终结果。

有可能吗? Google Spreadsheets中是否存在区分大小写的标志?

提前致谢!

4 个答案:

答案 0 :(得分:28)

AFAIK,启用不区分大小写的匹配的唯一方法是google docs中的JavaScript API。

显然, RE2 语法确实支持内联(?i)不区分大小写的修饰符:

=REGEXREPLACE("Test", "(?i)t", "")

另一种方法是使用Character类,添加字母T的两种情况..

=REGEXREPLACE("Test", "[Tt]", "")

答案 1 :(得分:13)

我发现了这个:

=REGEXREPLACE("Test","(?i)t","")

它返回你想要的东西

es

google/re2

答案 2 :(得分:1)

亚历山大·伊万诺夫写道,

  

是的,我知道这个话题已经解决了。但我发现了一些奇特的东西!

     

= REGEXREPLACE(“测试”,“(?i)t”,“”)它返回你想要的东西

     

es

     

P.S。:如果有人知道为什么会有效,请发表评论。

Google使用自己的re2正则表达式引擎。 使用(?i)允许您为不区分大小写的搜索设置标志 https://re2.googlecode.com/hg/doc/syntax.html

答案 3 :(得分:0)

区分大小写没有标记 如果你有一个更长的字符串,并且你想让它不区分大小写,你可以尝试使用小写的正则表达式并使你的测试小写使函数更低:     = REGEXREPLACE(LOWER(字符串),regex_in_lowercase,替换) 在你的具体情况:     = REGEXREPLACE(LOWER(" test")," t","") 问题是捕获表达式是小写的! 来源:https://productforums.google.com/forum/#!topic/docs/7kNb9LGeIfM