Мы можем использовать grep
grep("^[0-9]{2}:[0-9]{2}:[0-9]{2}$", vec, value = TRUE)
#[1] "11:30:00" "12:30:00" "13:30:00"
Или другой вариант times
из chron
library(chron)
vec[!is.na(times(vec))]
#[1] "11:30:00" "12:30:00" "13:30:00"
data
vec <- c("11:30:00", "12:30:00", "13:30:00", "111:4:00")