R 如何交替使用向量列表(正则表达式)

R 如何交替使用向量列表(正则表达式),r,regex,alternation,R,Regex,Alternation,可以将字符串向量解析为正则表达式中的替换元素吗?例如: pattern <- "^This\\s(*alternation element*)\\srocks\\." Animals <- c("cow","dog","cat") pattern您可以使用paste0生成正则表达式: paste0('^This\\s(', paste0(Animals, collapse = "|"), ')\\ssrocks\\.') #[1] "^This\\s(cow|dog|cat)\\s

可以将字符串向量解析为正则表达式中的替换元素吗?例如:

pattern <- "^This\\s(*alternation element*)\\srocks\\."
Animals <- c("cow","dog","cat")

pattern您可以使用
paste0
生成正则表达式:

paste0('^This\\s(', paste0(Animals, collapse = "|"), ')\\ssrocks\\.')
#[1] "^This\\s(cow|dog|cat)\\ssrocks\\."

注意:在R中,需要使用双反斜杠(
\\

我们可以使用
sprintf

sprintf("^Thi\\s(%s)\\ssrocks\\.", paste(Animals, collapse="|"))
#[1] "^Thi\\s(cow|dog|cat)\\ssrocks\\."
sprintf("^Thi\\s(%s)\\ssrocks\\.", paste(Animals, collapse="|"))
#[1] "^Thi\\s(cow|dog|cat)\\ssrocks\\."