首页 > 解决方案 > R RegEx匹配重复捕获组的第n个和第m个元素

问题描述

我正在尝试匹配 R 中字符串中重复捕获组的特定元素。在此示例中,字符串包含一组 3 个数字(可选十进制或负数),我可以单独选择

> gsub(x = "-10.05 20 30.1 some information",
       pattern = "^((-?[0-9]+(?:\\.[0-9]+)?)\\s){1}(.*)$",
       replacement = "\\2")
"-10.05"

通过用或替换{1}图案中的部分。{2}{3}

在更一般的情况下:有没有办法同时接收第 n 次和第 m 次匹配?在这个例子中,也许{1}{3}?就像是

> gsub(x = "-10.05 20 30.1 some information",
       pattern = "^((-?[0-9]+(?:\\.[0-9]+)?)\\s){3}(.*)$",
       replacement = ...)
"-10.05 30.1"

其中...当然包含规范。

标签: rregex

解决方案


推荐阅读