如何让REGEXEXTRACT提取完整匹配结果而非仅捕获组?
解决REGEXEXTRACT仅返回捕获组内容的问题
Google Sheets的REGEXEXTRACT函数规则是:如果正则表达式包含捕获组(带括号的部分),它会默认返回第一个捕获组的内容;如果没有捕获组,则返回完整的匹配结果。要让它返回完整匹配内容,有两种实用方法:
改用非捕获组
将原表达式里的(am|pm)替换为(?:am|pm),非捕获组不会被函数优先提取,此时函数会返回整个匹配的时间字符串。修改后的公式:=REGEXEXTRACT(A1,"\d+:\d\d (?:am|pm)")将整个匹配设为唯一捕获组
把整个正则表达式用括号包裹,让第一个捕获组就是完整的目标内容。公式示例:=REGEXEXTRACT(A1,"(\d+:\d\d (am|pm))")
这两种方法都能让你得到类似9:15 pm这样的完整匹配结果,而非单独的am/pm。
内容的提问来源于stack exchange,提问作者blahahaaahahaa
相关产品推荐
相关产品推荐

