I added your new problematic string to my code and I do not get the result you describe.
TEXT <- data.frame(Strings= c("AB CD PINE_1_200_CL_EB_7X240",
"BLS MAN_3_200_LD_BN_10X27_KD",
"BLS MAN_3x6_200_LD_BN_10X27_KD"))
library(stringr)
TEXT$First <- str_extract(TEXT$Strings,"\\d+_\\d+")
TEXT$SECOND <- str_extract(TEXT$Strings,"\\d+X\\d+")
TEXT
Strings First SECOND
1 AB CD PINE_1_200_CL_EB_7X240 1_200 7X240
2 BLS MAN_3_200_LD_BN_10X27_KD 3_200 10X27
3 BLS MAN_3x6_200_LD_BN_10X27_KD 6_200 10X27
Is that correct or do you expect a different result?