R正则表达式:如何提取按一定顺序包含两个字符的元素?

R正则表达式:如何提取按一定顺序包含两个字符的元素?,r,regex,text,R,Regex,Text,我试图使用正则表达式从字符向量中提取某些元素。例如,我想按顺序提取包含字符'abc'和'5'的所有元素。在'abc'之前、在'abc'和'5'之间以及'5'之后可以有字符 这是我以前想到的。我正在使用。表示任何事(或什么也不表示) 正确答案应该是 'abc5', 'aaabc3fs55' 我做错了什么 grep('abc.*5', testvec, value = TRUE) # [1] "abc5" "aaabc3fs55" 同时,你的.abc.5.的意思是:任何单个符号,

我试图使用正则表达式从字符向量中提取某些元素。例如,我想按顺序提取包含字符
'abc'
'5'
的所有元素。在
'abc'
之前、在
'abc'
'5'
之间以及
'5'
之后可以有字符

这是我以前想到的。我正在使用。表示任何事(或什么也不表示)

正确答案应该是

'abc5',   'aaabc3fs55'
我做错了什么

grep('abc.*5', testvec, value = TRUE)
# [1] "abc5"       "aaabc3fs55"
同时,你的
.abc.5.
的意思是:任何单个符号,abc,任何单个符号,5,任何单个符号

使用
abc.*5
我指定在abc和5之间可以有多个字符,并且没有必要(在您的情况下)说明它们之后和之前发生的事情;i、 例如,没有约束,
grep
只是在
testvec
元素的某个地方查找
abc.*5

grep('abc.*5', testvec, value = TRUE)
# [1] "abc5"       "aaabc3fs55"