我正在尝试使用regexreplace函数在Google Spreadsheets中创建不区分大小写的正则表达式查询。那可能吗?我已经尝试了\ i标志并得到#REF错误说表达式无效:= regexreplace(“Test”,“t \ i”,“”)给出错误,当我希望得到“es”作为最终结果。
有可能吗? Google Spreadsheets中是否存在区分大小写的标志?
提前致谢!
答案 0 :(得分:28)
AFAIK,启用不区分大小写的匹配的唯一方法是google docs中的JavaScript API。
显然, RE2 语法确实支持内联(?i)
不区分大小写的修饰符:
=REGEXREPLACE("Test", "(?i)t", "")
另一种方法是使用Character类,添加字母T
的两种情况..
=REGEXREPLACE("Test", "[Tt]", "")
答案 1 :(得分:13)
答案 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