对于以下字符串<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)"
。有人可以帮我这个吗?感谢。
答案 0 :(得分:1)
我相信你正在使用错误的正则表达式函数。 grep
只是告诉你是否找到了patern,它没有提取它。
尝试改为
regmatches("<10.16;13.05)", regexpr("\\d*\\.\\d*", "<10.16;13.05)"))