Используя базу R, мы можем извлечь все после последней точки, преобразовать в целое число, сравнить и задать подмножество
IP_LIST[as.integer(sub(".*\\.(\\d+)", "\\1", IP_LIST$IP)) > 128, ]
# User IP
#3 Mary 172.16.2.129
#4 Kim 198.16.15.254
#6 Jessie 192.168.25.200
Используя ту же логику, мы могли бы иметь несколько дополнительных опций, используя разные библиотеки.
stringi::stri_extract_last_regex
извлекает последний шаблон.Мы могли бы извлечь последнее число, используя его, и затем выполнить тот же процесс.
library(stringi)
IP_LIST[as.integer(stri_extract_last_regex(IP_LIST$IP, "\\d+")) > 128, ]
Не вмешиваясь в регулярное выражение, мы могли бы использовать функцию word
из stringr
, чтобы получить последнее слово с sep
aratorкак точка (.
)
library(stringr)
IP_LIST[as.integer(word(IP_LIST$IP, -1, sep = "\\.")) > 128, ]