小编Jos*_*eah的帖子

R中的正则表达式捕获特定字段

我在R中有以下向量:

x <- c("id: capture this , something: the useless chunk , otherstuff: useless , more stuff")
Run Code Online (Sandbox Code Playgroud)

我希望得到字符串"捕获这个".我使用过这个正则表达式:

library(rex)
r <- rex(
  start,
  anything,
  "id: ",
  capture(anything),
  " , ", 
  anything
)
r
# > r
# > ^.*id: (.*) , .*
re_matches(x,r)
Run Code Online (Sandbox Code Playgroud)

但我得到的是:

> re_matches(x,r)
                                                                  1
1 capture this , something: the useless chunk , otherstuff: useless
Run Code Online (Sandbox Code Playgroud)

它捕获我想要的东西,但也捕获字符串的其余部分.我只想要"捕获这个"字段.即使我使用gsub函数:

gsub("^.*id: (.*) , .*", "\\1", x)
Run Code Online (Sandbox Code Playgroud)

使用相同的正则表达式我得到了相同的结果.

这是R: R版本3.1.3(2015-03-09)的信息 - "Smooth Sidewalk"版权所有(C)2015统计计算平台的R基础:x86_64-pc-linux-gnu(64位)

和ubuntu的版本: 没有LSB模块可用.经销商ID:Ubuntu描述:Ubuntu 14.04.2 LTS版本:14.04代号:trusty

regex r

2
推荐指数
1
解决办法
212
查看次数

标签 统计

r ×1

regex ×1