ja bzw.
(?!00000)\d{5}
Die Begrenzer sind im HTML-Attribut imho nicht notwendig.
Deine Lösung ist sogar schneller. Ich habe meinen Browser beauftragt, sich https://regex101.com/ gut zu merken.
Zu den Begrenzern. Die mögen zwar im HTML-Attribut nicht notwendig sein. Aber so kann ich folgendes machen:
<?php
# file: presets.php
$pattern = '^(?!00000)\d{5}$';
#...
require 'presets.php';
#...
<input pattern="<?=$pattern;?>" name="test">
#...
und auswerten:
require 'presets.php';
if (! preg_match( $pattern) , $_POST['test'] ) ) {
# Fehler bei PLZ
}