Лучше обрабатывать объекты даты и времени так, как они есть, вместо использования регулярных выражений для извлечения информации.
x <- "2019-04-27T06:40:04.000+05:30"
as.POSIXct(x, format = "%Y-%m-%dT%T")
#[1] "2019-04-27 06:40:04"
, а затем мы можем использовать format
для извлечения необходимых нам данных
format(as.POSIXct(x, format = "%Y-%m-%dT%T"), "%T")
#[1] "06:40:04"
format(as.POSIXct(x, format = "%Y-%m-%dT%T"), "%H")
#[1] "06"