s <- "11.22.33.44"
sub("([[:digit:]]*\\.[[:digit:]]*\\.[[:digit:]]*)(\\.[[:digit:]]+)", "\\1", s)
#[1] "11.22.33"
?regex
使用括号划分两种不同的模式,并仅返回与第一个模式匹配的部分。第一种模式是由两个句点分隔的任意数量的数字。任何正则表达式函数的第一个参数中的句点都需要转义(两次)。
第二"\\1"
个参数中的 是引用第一个模式的示例。第二个参数中的反斜杠与第一个参数中的反斜杠的转义方式不同。