gpt4 book ai didi

正则表达式 Google 表格匹配日期和月份位数不同的日期

转载 作者:行者123 更新时间:2023-12-04 08:42:24 26 4
gpt4 key购买 nike

在谷歌表格中,我希望能够从文本单元格中提取日期。我在 RegEx get last match of a date format from string inside a Google Sheets cell 中找到了解决方案但它没有考虑到我的日期格式不一样。
它们可能有 1 或 2 位数字表示日,然后是 1 或 2 位数字,然后是 2 或 4 位数字表示年。
我已经调整了上面的解决方案以使用 d{1, } 查找多个数字:"(?:.+)(\d{1,}-\d{1,}-\d{2,})"但是如果一天有 2 位数字,第一个数字就会掉下来
"1-8-2018 en 1-2-2019"结果 -> 1-2-2019
"26-3-19 en 23-4-2019"结果 -> 3-4-2019
"1-1-20 of 8-2-20 en dan 12-10-20"-> 2-10-20<>
它似乎在月份和年份都可以正常工作,但不能在当天正常工作,我该如何解决?
奖金问题:
大多数情况下,单元格中有 2 个日期,有时将来可能会有 3 个。我希望能够选择返回哪个日期。现在正在选择最后一个日期。有没有办法从一开始计算匹配的数量然后选择一个?

最佳答案

您可以使用

^(?:.*?(\d{1,2}-\d{1,2}-\d{2}(?:\d{2})?)){2}
regex demo .由于 {2},这将选择每个字符串中的第二个日期最后限定量词。将限制数量调整为您需要的数量。
详情
  • ^ - 字符串开头
  • (?: - 非捕获组的开始(用于对此处要量化的模式进行分组)
  • .*? - 除换行符以外的任何 0+ 字符,尽可能少(*? 是非贪婪的)
  • (\d{1,2}-\d{1,2}-\d{2}(?:\d{2})?) - 第 1 组(实际输出):一位或两位数字,- , 一位或两位数字, - , 两位数字,然后是一个可选的两位数字块

  • ){2} - 非捕获组结束,匹配两次
  • 关于正则表达式 Google 表格匹配日期和月份位数不同的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64496765/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com