• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
云飞
博客园    首页    新随笔    联系   管理    订阅  订阅

R 中正则

在R中使用正则,可以指定perl=True 构造复杂正则,这也是本人比较熟悉在方式 

> word <- c('a1:23asdfjaskldjf<->aa:112xzvasoiffncx909<->bb:23asdfjaskldjfAAA')

> pattern<- 'bb.*(?=(<->|$))'
> (gregout <- gregexpr(pattern,word,perl=TRUE))
[[1]]
[1] 45
attr(,"match.length")
[1] 20
attr(,"useBytes")
[1] TRUE
attr(,"capture.start")
       
[1,] 65
attr(,"capture.length")
      
[1,] 0
attr(,"capture.names")
[1] ""

> substr(word[1],gregout[[1]],gregout[[1]]+attr(gregout[[1]],'match.length')-1)
[1] "bb:23asdfjaskldjfAAA"

 正则中使用了向前引用,使用了() ,可以使用perl=TRUE 来指定 

posted @ 2017-05-16 10:00  映日荷花别样红  阅读(181)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3