Regex 如何提取R中的百分比?

Regex 如何提取R中的百分比?,regex,r,string,extract,stringr,Regex,R,String,Extract,Stringr,从这个字符串边框颜色:#002449;左:74.4%位于顶部;37%;我想将第一个百分比74.4%设置为变量X,第二个百分比37%设置为变量Y 我尝试过使用这个正则表达式“^.*?(\\d+)%.*”,但这会去掉%符号,只从74.4中提取第二个4 任何帮助都将不胜感激。如果需要任何进一步的信息,请告诉我。两种变体:'\\d+\.?\\d*%'(等效)和'[\\d.]+%'(适用于此处,但不太具体说明句点)感谢您的回答。我现在正在做:X@Dre,如果你真的想有两个独立的变量,为什么不像我对某个变量

从这个字符串
边框颜色:#002449;左:74.4%位于顶部;37%;
我想将第一个百分比
74.4%
设置为变量
X
,第二个百分比
37%
设置为变量
Y

我尝试过使用这个正则表达式
“^.*?(\\d+)%.*”
,但这会去掉
%
符号,只从
74.4
中提取第二个
4


任何帮助都将不胜感激。如果需要任何进一步的信息,请告诉我。

两种变体:
'\\d+\.?\\d*%'
(等效)和
'[\\d.]+%'
(适用于此处,但不太具体说明句点)感谢您的回答。我现在正在做:
X@Dre,如果你真的想有两个独立的变量,为什么不像我对某个变量
e
的回答那样提取两个字符串,然后
X
s <- "border-color:#002449;left:74.4%top;37%;"
regmatches(s, gregexpr("\\d+(\\.\\d+){0,1}%", s))[[1]]
# [1] "74.4%" "37%"  
library(stringr)
str_extract_all(s, "\\d+(\\.\\d+){0,1}%")[[1]]
# [1] "74.4%" "37%"