我的目标是使用Google表格中的Regex(表格功能:regexextract)提取日期字符串和以下字符,其中字符串是单元格的最后一行,并以日期格式“ yyyy-DD-MM”开头,后跟“:” 。因此,我目前拥有的RegExpression看起来像:\d{4}-\d{2}-\d{2}:.+
这可以正常工作,但它返回第一个匹配项。相反,我想从单元格的末尾开始,并在有多个日期字符串时提取最后一个匹配项。这是因为内容在单元格中按日期升序存储。
样品池:
2020-05-20: Status update blah blah
2020-05-27: PO Issued blah blah
请求的结果:我希望最终结果是一个以日期开头的字符串,以及最后一个结果为“ 2020-05-27:PO Issued blah blah”之后的字符。但是,我始终会在上面的示例中获得第一场比赛:“ 2020-05-20:状态更新等等”
我也在谷歌表中使用regexextract()做到这一点,这不应该在正则表达式中有所作为,而只是想提一下。
编辑:我发现工作表正在使用RE2,所以我想它确实有所作为。
您可以使用
=REGEXEXTRACT(A1, "(?m)^\d{4}-\d{2}-\d{2}:.*\z")
请参阅RE2正则表达式演示和Google表格截图:
在(?m)^\d{4}-\d{2}-\d{2}:.*\z
正则表达式匹配
(?m)
-MULTILINE修饰符,使^
匹配行的开头和$
匹配行的结尾^
-一行的开始\d{4}-\d{2}-\d{2}:.*
-4位数,,-
2位数,,-
2位数,:
然后是行的其余部分,因为.
默认情况下不匹配换行符\z
-字符串的最末端(不受(?m)
修饰符的影响)。请注意,(?s).*\n(\d{4}-\d{2}-\d{2}:.*)
我建议在问题下方的顶部注释中,将匹配以日期开头的最后几行,请参阅regex演示。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句