gpt4 book ai didi

regex - R中的正则表达式括号之谜

转载 作者:行者123 更新时间:2023-12-03 21:28:49 24 4
gpt4 key购买 nike

我正在尝试使用 str_extract在文本文档中查找日期。但是,我遇到了一个难题。一般来说,我希望日期以两种形式之一出现:1) June 15th, 1914 2) June 15, 1914 .但是当我尝试构建一个模式来捕捉这两个选项时,我得到一个 NA结果。

例如,如果我尝试 str_extract("No. 1. June 20th, 1914.", "[:alpha:]{3,8} [0-9]{1,2}[[a-z]{2}]?, [0-9]{4}") , 我得到 NA .但是如果我去掉 [a-z]{2} 周围的括号有用。但是,如果我去掉括号,我当然会得到 NA对于字符串 "No. 1. June 20, 1914." .但是,如果我离开括号,这确实有效。

我当然可以通过使用一个简单的 if/else if 来解决这个问题。声明,但我很好奇为什么这不起作用,以及是否有更好的方法来处理这些组合情况。

最佳答案

如果您想提取日期,为什么不使用 lubridate包裹?

> lubridate::mdy("No. 1. June 20th, 1914.")
[1] "1914-01-20 UTC"

(其中 mdy 告诉 lubridate 日期数据以月-日-年的顺序出现)。

关于regex - R中的正则表达式括号之谜,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31933347/

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