Questo pattern ti verifica la formattazione della stringa
/^([\w\d]+(\/|\.))+(\w|\d)+(-(\w|\d)+)+$/i
Questo invece verifica che ci siano essattamente 3 cifre sparse nella stringa
/^([^\d]*?\d){3}[^\d]*$/
Non so se è possibile scrivere una regexp che unisca le due cose. Comunque fai qualche prova.
Valutazione regexp