gpt4 book ai didi

regex - 匹配 gsub/r 中的最后一个和第一个括号并保持剩余内容不变

转载 作者:行者123 更新时间:2023-12-04 20:36:22 31 4
gpt4 key购买 nike

我正在使用以下格式的字符向量:

[-0.2122,-0.1213)
[-0.2750,-0.2122)
[-0.1213,-0.0222)
[-0.1213,-0.0222)

我想删除 [)所以我可以获得类似的期望结果:
-0.2122,-0.1213
-0.2750,-0.2122
-0.1213,-0.0222
-0.1213,-0.0222

尝试

1 - 组,

我正在考虑根据语法来捕获第一组和第二组:
[[^\[{1}(?![[:digit:]])\){1}

但它似乎不起作用,( regex101 )。

2 - 标点符号

代码: [[:punct:]]将捕获所有标点 regex101 .

Match

3 - 再次分组

然后我尝试匹配这两个组: (\[)(\)) ,但是,同样不乏 regex101 .

应用 gsub 可以轻松解决该问题两次或使用 multigsub 可在 qdap 中获得包,但我有兴趣通过一个表达式解决这个问题,这是可能的。

最佳答案

您可以尝试在 Perl 样式的正则表达式中使用前瞻和后视。

x <- scan(what = character(), 
text = "[-0.2122,-0.1213)
[-0.2750,-0.2122)
[-0.1213,-0.0222)
[-0.1213,-0.0222)")

regmatches(x, regexpr("(?<=\\[).+(?=\\))", x, perl = TRUE))
# [1] "-0.2122,-0.1213" "-0.2750,-0.2122" "-0.1213,-0.0222" "-0.1213,-0.0222"

关于regex - 匹配 gsub/r 中的最后一个和第一个括号并保持剩余内容不变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34902278/

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