匹配唯一数字的正则表达式重复N次

cim*_*daj 2 regex r

我想匹配重复N次但只有唯一数字的数字.我对正则表达式解决方案感兴趣.

vec <- c("00", "01", "02", "06", "07", "65", "87", "88", "66", "777", "999999")
grep("^[6-9]{1,}$", vec, value = TRUE)
#> [1] "87"     "88"     "66"     "777"    "999999"
Run Code Online (Sandbox Code Playgroud)

所以在这里我想只匹配88,66,7779999.87不应该匹配,因为它包含两个不同的数字.

提示?

tal*_*lat 5

使用反向引用:

grep("^([6-9])\\1{1,}$", vec, value = TRUE)
[1] "88"     "66"     "777"    "999999"
Run Code Online (Sandbox Code Playgroud)

如果要匹配重复N次的数字,那么{1}应该是N-1,因为您已经将第一个匹配作为捕获组.