string <- "Junk1_Junk2_Junk3__ID1_Junk4_Junk5.pdf"
library(stringr)
stringr::str_extract(string, "[^_]+(?=(?:_[^_]*){2}$)")

## Base R:
sub(".*?([^_]+)(?:_[^_]*){2}$", "\\1", string)