Regexpr没有按预期工作

时间:2018-05-11 14:36:25

标签: r regex

对于以下字符串<10.16;13.05)我想只匹配第一个数字(有时第一个数字不存在,即<;13.05))。我使用了以下正则表达式:

grep("[0-9]+\\.*[0-9]*(?=;)","<10.16;13.05)",value=T,perl=T)

但是,结果不是"10.16",而是"<10.16;13.05)"。有人可以帮我这个吗?感谢。

1 个答案:

答案 0 :(得分:1)

我相信你正在使用错误的正则表达式函数。 grep只是告诉你是否找到了patern,它没有提取它。

尝试改为

regmatches("<10.16;13.05)", regexpr("\\d*\\.\\d*", "<10.16;13.05)"))