【问题标题】:How to do case insensitive match with regexmatch in google sheets?如何在谷歌表格中使用正则表达式匹配不区分大小写?
【发布时间】:2019-01-03 21:05:09
【问题描述】:

我正在尝试使用

过滤我的工作表
=filter({B:B}, regexmatch({B:B}, $A$1))

是否可以使正则表达式不区分大小写?

【问题讨论】:

    标签: regex google-sheets


    【解决方案1】:

    不确定$A$1到底是什么,但第二个参数仍然是一个正则表达式,所以我假设你可以传递一个像这样的标志:

    =filter({B:B}, regexmatch({B:B}, "(?i)in"))

    如果$A$1 是一个字符串,也许你可以使用concatenate 函数,所以输出结果是标志加上你的值:

    =filter({B:B}, regexmatch({B:B}, CONCATENATE("(?i)", $A$1)))

    【讨论】:

    • 我只是使用 & 将字符串组合在一起,但也许我做错了:=filter({B:B}, regexmatch({B:B}, "(?i)" & $A$1))
    【解决方案2】:

    你可以使用:

    =regexmatch($I1,"(?i)tex")
    

    【讨论】:

      【解决方案3】:

      大括号不是必需的:

      =filter(B:B,regexmatch(B:B,$A$1))
      

      应该像区分大小写一样适用于不区分大小写,提供对于前者,A1 单元格被预先添加:(?i)。也就是说,如果词条是tex,在A1中:

      (?i)tex 
      

      【讨论】:

        【解决方案4】:

        这可能有效:

         =filter(B:B, lower(regexmatch(B:B)), lower($A$1))
        

        LOWER 函数在内部抑制所有大写字母,使搜索的数据和搜索词的大小写等效,并且不修改屏幕上的实际数据。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2022-01-09
          • 1970-01-01
          相关资源
          最近更新 更多