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