我尝试为日期模式(mm / dd / yyyy; m / d / yy等)写一个正则表达式:
".*([0-9]+/[0-9]+/[0-9]+).*"
但是对于我的用例,年份可以省略。在这种情况下,我仍然要匹配mm / dd。我试图为此目的放置最后一组选项:
".*([0-9]+/[0-9]+(/[0-9]+)?).*"
但是它不适用于完整的日期模式(下面的R代码):
str = "hello 2/5/2017 123"
gsub(".*([0-9]+/[0-9]+(/[0-9]+)?).*", "\\1", str)
结果:
[1] "5/2017"
任何关于我做错事情的想法吗?