正则表达式 – 仅从grep返回匹配的模式

前端之家收集整理的这篇文章主要介绍了正则表达式 – 仅从grep返回匹配的模式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
鉴于R中的以下例子:

my.list<-list(a='ivw_2014_abc.pdf',b='ivw_2014_def.pdf',c='ivw_2014_ghi.pdf')

grep('(?<=ivw_2014_)[a-z]*',my.list,perl=T,value=T)

回报

a                  b                  c
"ivw_2014_abc.pdf" "ivw_2014_def.pdf" "ivw_2014_ghi.pdf"

我想让它回归

[1] 'abc' 'def' 'ghi'

在bash中我会使用-o选项.我如何在R中实现这一目标?

解决方法

不使用任何捕获组,

> my.list<-list(a='ivw_2014_abc.pdf',c='ivw_2014_ghi.pdf')
> gsub("^.*_|\\..*$","",perl=T)
[1] "abc" "def" "ghi"

猜你在找的正则表达式相关文章