こんな感じでしょうか。
質問編集前のイレギュラーにも対応してありますが、イレギュラーかつ/以降なしケースなど考えると以下では不十分かもしれません。
VBA
1Set reg = CreateObject("VBScript.RegExp")
2reg.Pattern = "(\d+-\d+)([-\d]*)(/\d+)*"
3Set mc = reg.Execute("F-701-31-7/2")
4If mc.Count > 0 Then
5 Select Case mc.Item(0).SubMatches.Count
6 Case 1
7 Debug.Print mc.Item(0).SubMatches.Item(0)
8 Case 2
9 Debug.Print mc.Item(0).SubMatches.Item(0) & mc.Item(0).SubMatches.Item(1)
10 Case 3
11 Debug.Print mc.Item(0).SubMatches.Item(0) & mc.Item(0).SubMatches.Item(2)
12 End Select
13End If
14Set reg = Nothing
イレギュラーケースに対応しなくてよいなら下記でよいと思います。
VBA
1Set reg = CreateObject("VBScript.RegExp")
2reg.Pattern = "(\d+-\d+(/\d+)*)"
3Set mc = reg.Execute("F-701-31/2")
4If mc.Count > 0 Then
5 Debug.Print mc.Item(0)
6End If
7Set reg = Nothing