You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于使用REGEXMATCH实现匹配双引号后跟零的条件格式的问题求助

解决Google Sheets条件格式匹配双引号后接0的问题

要实现匹配双引号后跟0 /的内容(如"0 / 10"匹配为true,"10 / 10"匹配为false),你可以使用以下正确的REGEXMATCH公式:

=REGEXMATCH(B:B; """0 /")

为什么这个公式有效?

在Google Sheets的公式字符串中,双引号需要用两个双引号来转义,所以"""0 /"会被解析为正则表达式"0 /——精确匹配双引号紧跟0 /的序列。这样就只会命中双引号后直接是0的情况,不会像你第一个尝试那样匹配其他位置的0 /。

分析你之前的尝试问题:

  • 尝试1:=REGEXMATCH(B:B;"0 /")
    这个正则太宽泛,会匹配单元格中任何位置的0 /,包括"10 / 10"里的0 /,不符合你的需求。

  • 尝试2:=REGEXMATCH(B:B;"""0 /")
    语法正确但无匹配结果,大概率是因为单元格内容和正则的空格不匹配(比如单元格里是"0/10"无空格,而正则带空格),或者你的单元格中实际存储的双引号是特殊字符(如全角引号)。可以在空白单元格输入=CHAR(34)&"0 /",对比B列内容的字符序列是否一致。

  • 尝试3:=REGEXMATCH(B:B;"[[:punct:]]0 /")
    [:punct:]虽然包含双引号,但Google Sheets的正则实现中,某些情况下可能对中文标点和英文标点区分严格,如果你的双引号是全角的,就会匹配失败。

  • 尝试4:=REGEXMATCH(B:B;"[^[:digit:]]0 /")
    理论上双引号属于非数字字符,应该匹配,但如果你的单元格中双引号和0之间存在隐藏字符(如不可见的空格、换行符),就会导致匹配失败。可以用=CODE(MID(B1,2,1))查看0的前一个字符的ASCII码,确认是否是34(双引号的ASCII码)。

  • 尝试5:=REGEXMATCH(B:B;CONCATENATE(CHAR(34), "0 /"))
    这个公式生成的正则和尝试2完全一致,所以失败原因和尝试2相同。

扩展:适配空格不固定的情况

如果你的单元格中0和/之间的空格数量不固定(有时有空格,有时没有),可以用\s*匹配任意数量的空白字符:

=REGEXMATCH(B:B; """0\s*/")

内容的提问来源于stack exchange,提问作者Joe McGinn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 09:32:38