01 wordt gematcht en volgens de BAG specificatie is het huisnummer een natuurlijk getal van 1 t/m 99999. Dus voorloopnullen zouden niet voor mogen komen.
Je matcht nu twee toevoegingen van maximaal 4 tekens, is dat correct? Als ik de specificatie lees heb je
- huisnummer (numeriek 1-99999)
- huisletter (één letter)
- huisnummertoevoeging (maximaal vier alfanumerieke tekens)
Dan zou ik zeggen dat het ^1-9([A-Za-z])?([-]{1}[0-9A-Za-z]{1,4})?$ moet zijn.
De koppelstreepjes worden niet genoemd in de BAG specificatie, maar ik ga er ook van uit dat die er moet staan (ook omdat dat de praktijk is).
Gecontroleerd met regex checker op https://regex101.com/