# If you'd like to omit non-matching lines from the result; add ';d' to the end of the expression.
sed -E 's/^.*(([\w\d]{5}-?){3}).*$/$1/gmi;t' <<< "12 DIG ARTIFEX Bundle 3 9 Clues 2: The Ward STEAM 5MQ7W-N7PAT-V0QQL YES Mark as used
13 DIG ARTIFEX Bundle 3 9 Clues: The Secret of Serpent Creek STEAM PEMFX-48T80-20ANW YES Mark as used
14 DIG Super Bundle 76 HellAngel STEAM FENFR-LQ0N3-TNLR0 YES Mark as used
1 DIG Points Purchase Monsti STEAM BCI7T-Z9P4Q-LGJ9T YES Mark as used
2 DIG Super Bundle 74 Wooden Floor 2 - Resurrection STEAM LPL6L-2LJ74-GWG3W YES
3 DIG Super Bundle 74 Warriors of Vilvatikta STEAM 90LPI-T5KC2-C4W6M YES
4 DIG Super Bundle 74 Final Quest STEAM IJRID-JYGH3-3M5C7 YES
5 DIG Super Bundle 74 Gold Rush! - Anniversary STEAM 6D7DA-8EZZP-DET6A YES
6 DIG Super Bundle 75 Sleeping Valley STEAM 8AFHR-C0X43-DAG74 YES "
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for SED, please visit: https://www.gnu.org/software/sed/manual/html_node/The-_0022s_0022-Command.html