加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 05:56:55 所属栏目:百科 来源:网络整理
导读:鉴于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' 'd
鉴于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"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读