gpt4 book ai didi

R 中具有多个捕获组的正则表达式组捕获

转载 作者:行者123 更新时间:2023-12-03 05:00:22 25 4
gpt4 key购买 nike

在 R 中,是否可以从正则表达式匹配中提取组捕获?据我所知,没有 grepgreplregexprgregexprsubgsub 返回组捕获。

我需要从这样编码的字符串中提取键值对:

\((.*?) :: (0\.[0-9]+)\)

我总是可以做多个完全匹配的 grep,或者做一些外部(非 R)处理,但我希望我可以在 R 中完成这一切。是否有一个函数或一个包提供这样的函数这样做吗?

最佳答案

str_match(),来自stringr包,将执行此操作。它返回一个字符矩阵,其中一列代表比赛中的每一组(一列代表整个比赛):

> s = c("(sometext :: 0.1231313213)", "(moretext :: 0.111222)")
> str_match(s, "\\((.*?) :: (0\\.[0-9]+)\\)")
[,1] [,2] [,3]
[1,] "(sometext :: 0.1231313213)" "sometext" "0.1231313213"
[2,] "(moretext :: 0.111222)" "moretext" "0.111222"

关于R 中具有多个捕获组的正则表达式组捕获,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/952275/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com