You could come up with:
^\d\ *(?:\(\d+\))?[- \d]+$
See a demo on regex101.com.  
Broken down:
^   - an anchor to bind the expression to the beginning of the line
\d  - one digit of 0-9
\ * - zero or more spaces
(?:\(\d+\))? - digits in parentheses, made optional
[- \d]+ - characters from the specified class
$ - bind the expression to the end 
But quoting from the regex tag:
Since regular expressions are not fully standardized, all questions
  with this tag should also include a tag specifying the applicable
  programming language or tool.
Please update your question and apply the used programming language.  
As pointed out by @Aminah, the given regex has flaws which can be avoided by using lookaheads, e.g.:
^(?!.*-{2,})\d\ *(?:\(\d+\))?[- \d]+$
The (?!.*-{2,}) makes sure that there are no two consequent slashes allowd.