使用 Regexextract 从 Google 工作表中的文本中提取日、月、2 位年份

Extracting day,month,2-digits year from text in Google Sheets using Regexextract

非常感谢任何帮助。

文本是这样的 11jun2018/M , 16JUL1976/F(出生日期+男性或女性)

我需要得到下一个结果:11jun18 , 16jul76.

我试过 \d{2}\w{3}\d{4} 结果是 11jun2018 我也发现 \d{2}(\d{2}) 结果是 18 ,但我不知道如何将这两个结合起来正则表达式。

因为当我联合时,我得到了以前的结果(只有18,而不是11jun18)。

也希望获得一些针对傻瓜的正则表达式指南

您可以使用

=LOWER(REGEXREPLACE(A1,"^(\d{2}[a-zA-Z]{3})\d{2}(\d{2})/[MF]$", ""))

如果没有匹配必须有一个空结果在末尾添加|.+

=LOWER(REGEXREPLACE(A1,"^(\d{2}[a-zA-Z]{3})\d{2}(\d{2})/[MF]$|.+", ""))

这里,

  • ^ - 匹配字符串的开头
  • (\d{2}[a-zA-Z]{3}) - 将 2 个数字和 3 个字母捕获到组 1 (</code>)</li> <li><code>\d{2} - 匹配两个数字
  • (\d{2}) - 将两个数字捕获到第 2 组 (</code>)</li> <li><code>/ - 斜杠
  • [MF] - MF 匹配
  • $ - 字符串结尾
  • |.+ - 或匹配任何其他字符串,尽可能多地匹配除换行字符以外的 1 个或多个字符。

见截图:

你可以试试:

使用的公式:

=ARRAYFORMULA(LEFT(REPLACE(LOWER(FILTER(A1:A,A1:A<>"")),6,2,),7))

Tnx to Wiktor Stribiżew 公式我尝试了更多的东西,在这里我想到了:

1.I 从一开始就做了我想要的,将我的 2 个正则表达式:\d{2}\w{3}\d{4}\d{2}(\d{2}) 合并为 =REGEXEXTRACT(A1,"(\d{2}\w{3})\d{2}(\d{2})") 但是它将答案写入了 2 个单元格(B51,C51),如您在屏幕截图中所见。

-我想提醒一下,C51单元格不包含任何公式。

我们可以将 B51 中的公式分成两个正则表达式并将它们连接起来。

像这样=REGEXEXTRACT(A1,"\d{2}\w{3}")&REGEXEXTRACT(A1,"\d{2}(\d{2})")

=REGEXEXTRACT(A1,"\d{2}\w{3}") 结果为 06JUL=REGEXEXTRACT(A1,"\d{2}(\d{2})") 结果为 77

请参阅下面 Google 表格的 Link

2.If你不喜欢第一种方法我们也可以这样做:

由于我们从 REGEXEXTRACT 函数中获取数组响应,我们可以使用函数 JOINTEXTJOIN

=JOIN("",REGEXEXTRACT(A1,"(\d{2}\w{3})\d{2}(\d{2})"))

我决定最好将 link 提供给 Google Sheet,因为他们有兴趣检查我上面提到的解决方案,而不是制作大量屏幕截图。