<?php
error_reporting(-1);
mb_internal_encoding('utf-8');

$regexp = '/^[а-яё][0-9]{3}[а-яё]{2}$/ui';

$numbers = ['а123вг' => true, 'А123ВГ' => true, 'а12вг' => false,
'а1234вг' => false, 'a123bг' => false, 'а123вг!' => false];

foreach ($numbers as $number => $expected) {
$ok = (bool)preg_match($regexp, $number);
echo ($ok === $expected ? '[OK] ' : '[FAIL] ') . "'{$number}' — " . ($ok ? "правильный" : "неправильный") . "\n";
}