Also doch was verwechselt
! statt =
Abfrage auf "nicht da" statt "ist da"
Code:
#(?<![0-9-])([0-9]{2}-[0-9]{3}|[0-9]{4}-[0-9]{4})(?![0-9-])#
#(?<![-\d])(\d{2}-\d{3}|\d{4}-\d{4})(?![-\d])#
Damit
([^0-9-]
nimmst du jedes Zeichen mit in das Suchergebnis auf, welches nicht 0-9 oder - entspricht.
Die Look-Arounds prüfen nur, aber nehmen nichts mit ins Ergebnis rein, außerdem kann man damit auch über den Zeilen-/Endeanfang hinaus suchen.