У меня есть вектор строк, и я просто хочу, чтобы извлечь эти значения, которые принимают формуКак использовать регулярное выражение для этого выражения (например, «6.81E + 10»)?
- «[цифра] [.] [Цифра] [цифра] [E] [+] [цифра] [цифра ]»или
- "[цифра] [] [цифра] [цифра] [E] [+] [цифра] [цифра] [цифра]"
примером может быть:.
- "6.81E + 10" и
- "5. 01E + 110"
Пусть вектор a
быть следующим:
a<-c("1.23E+110",
"1.77E+12",
"11.22E+110",
"1.222E+110",
"1.22E+1",
"1.22E+1888",
"1..72E+18",
"1.23EE+18",
"1.27E++18",
"1.27E+E+18",
"1.27R+180")
Моя команда:
grep("^[[:digit:]]{1}[.]{1}[[:digit:]]{2}[E+]{1}[[:digit:]]{2,3}",a,value=TRUE)
Я хотел бы его вернуть:
[1] "1.23E+110" "1.77E+12"
Но вместо этого он возвращает: character(0)
Почему он не может работать?
Используйте 'grep ("^[0-9] {1} \\. [0-9] {2} E \\ + [0-9] {2,3} $ ", a) ' – Zach
разделите' E' и '+' – SymbolixAU
Или 'grep ("^\\ d [.] \\ d {2} E [+] \\ d {2,3} $ ", a, value = TRUE) 'в этом отношении – thelatemail