下次尝试展示您的尝试。以下作品,但可能有更有效的正则表达式模式
pat <- paste0("([0-9]{1,2}:[0-9]{2}, )*[0-9]{1,2} (", paste(month.name, collapse = "|"), ") [0-9]{4}")
pat
## [1] "([0-9]{1,2}:[0-9]{2}, )*[0-9]{1,2} (January|February|March|April|May|June|July|August|September|October|November|December) [0-9]{4}"
regmatches(text, gregexpr(pat, text = text))
## [[1]]
## [1] "6:05, 15 July 2005"
##
## [[2]]
## [1] "7:06, 3 November 2006"
##
## [[3]]
## [1] "24 November 2006"
##
## [[4]]
## character(0)
##
# or using stringr package
str_extract_all(text, pat)
## [[1]]
## [1] "6:05, 15 July 2005"
##
## [[2]]
## [1] "7:06, 3 November 2006"
##
## [[3]]
## [1] "24 November 2006"
##
## [[4]]
## character(0)
##