Regex 使用stringr提取字符串

Regex 使用stringr提取字符串,regex,r,Regex,R,我有一个字符串BTL_OTM_TLS_TTL_ACQ_0.0.0|从我想要提取BTL_OTM_TLS_TTL_ACQ的地方修复 然而,我得到了BTL_OTM_TLS_TTL_ACQ |。我使用了stringr,并提供了下面的代码。任何帮助都将不胜感激 > k [1] "BTL_OTM_TLS_TTL_ACQ_0.0.0|Fixed" > str_extract(k, "(_)[0-9](.)+") [1] "_0.0.0|Fixed" > strsplit(as.charact

我有一个字符串BTL_OTM_TLS_TTL_ACQ_0.0.0|从我想要提取BTL_OTM_TLS_TTL_ACQ的地方修复

然而,我得到了BTL_OTM_TLS_TTL_ACQ |。我使用了stringr,并提供了下面的代码。任何帮助都将不胜感激

> k
[1] "BTL_OTM_TLS_TTL_ACQ_0.0.0|Fixed"
> str_extract(k, "(_)[0-9](.)+")
[1] "_0.0.0|Fixed"
> strsplit(as.character(k),str_extract(as.character(k),"(_)[0-9](.)+"))
[[1]]
[1] "BTL_OTM_TLS_TTL_ACQ" "|"
你可以试着从基地R

或者使用带str_extract的lookarounds

使现代化 如果我们需要提取0.0.0,一个选项是

gsub('^[^0-9]*|\\|.*$', '', k)
#[1] "0.0.0"
数据 你可以试着从基地R

或者使用带str_extract的lookarounds

使现代化 如果我们需要提取0.0.0,一个选项是

gsub('^[^0-9]*|\\|.*$', '', k)
#[1] "0.0.0"
数据
有什么方法可以从表达式中提取0.0.0吗?试试gsub'^[^0-9]*.\\\\\\.*$',k[1]0.0.0你太棒了!!谢谢你有什么方法可以从表达式中提取0.0.0吗?试试gsub'^[^0-9]*.\\\\\\.*$',k[1]0.0.0你太棒了!!非常感谢。
strsplit(k, '_[0-9]+.*$')[[1]]
#[1] "BTL_OTM_TLS_TTL_ACQ"
gsub('^[^0-9]*|\\|.*$', '', k)
#[1] "0.0.0"
k <- "BTL_OTM_TLS_TTL_ACQ_0.0.0|Fixed"