我已经阅读了正则表达式中有关R捕获组的其他一些问题,并且我没有太多运气。R正则表达式,试图捕获一个组
我有一个字符串:
127.0.0.1 - - [07/Dec/2014:06:43:43 -0800] \"OPTIONS * HTTP/1.0\" 200 - \"-\" \"Apache/2.2.14 (Ubuntu) PHP/5.3.2-1ubuntu4.24 with Suhosin-Patch mod_ssl/2.2.14 OpenSSL/0.9.8k mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.10.1 (internal dummy connection)\"
从中我试图捕捉时间戳:
07/Dec/2014:06:43:43 -0800
下面的函数调用返回匹配:
regmatches(x,regexpr('\\[([\\w:/]+\\s[+\\-]\\d{4})\\]',x,perl=TRUE))
[1] "[07/Dec/2014:06:43:43 -0800]"
我我试图用str_match来捕捉这个单独的组本身,并且使用了这个正则表达式的各种变体:
str_match(x, "\\[([\\w:/]+\\s[+\\-]\\d{4})\\]")
[,1] [,2]
[1,] NA NA
无济于事。在大多数在线正则表达式测试中正确地改变了这种正则表达式测试的种类,所以我认为正则表达式不是问题所在。
我怎样才能得到只是时间戳本身,所以我可以把它抽成strptime,而不需要做像gsub
括号? gsub无法为我获取组,str_match不起作用,我错过了什么?理想的输出将是
07/Dec/2014:06:43:43 -0800
然后我可以在strptime中使用。
谢谢!定时器启动时将接受。 – Arima 2015-01-15 15:39:59
不客气.. – 2015-01-15 15:49:09