Quiero una validación para el número de registro usando regex. ¿Cómo hago eso en PHP?

No es un trabajo duro …
Permite unir expresiones para cada grupo

dígito 1 -> 1

rango 1-4 -> [1-4]

3 caracteres, cuatro casos posibles:

  • cualquier carácter incluyendo caracteres especiales como $, *, @, # -> \. {3}
  • solo alfabetos permitidos -> [aA-zZ] {3}
  • solo alfabetos capitales -> [AZ] {3}
  • tanto alfabetos como dígitos permitidos -> \ w {3}

Por último, dado que no ha mencionado claramente cuántos dígitos (el ejemplo es contradictorio), le daré una fórmula general de expresiones regulares.
\ d { num } \ d *
donde num es el número mínimo de dígitos requerido
por ejemplo, \ d {3} \ d * solo coincidirá con el número que no tiene. de dígitos mayores o iguales a 3 como 343, 1003, 8405
si desea permitir exactamente tres o cuatro dígitos , use \ d {3} o \ d {4} respectivamente

Finalmente, combine todas las expresiones regulares de acuerdo con los requisitos y agregue ^ al principio y $ al final para que la cadena comience y termine solo con el patrón dado
p.ej
^ 1 [1-4] \ [AZ] {3} \ d {3} \ d * $
Esta expresión permitirá solo una cadena que comience con 1, luego seguida de cualquier dígito del 1 al 4, luego seguida de 3 alfabetos de la A a la Z y, finalmente, 3 o más dígitos. El ejemplo que diste satisface esta expresión regular.

El primer personaje debe ser “1”? Por “char” quieres decir “carta”? ¿Superior, inferior, tampoco? Su expresión regular debe ser similar a:
[1] [1-4] [A-Za-z] {3} [0-9] {3}