Dependendo de como a implementação do PHP é fraca, você não tem uma opção ou seu regex não faz o que você acha que faz.
/^(\d{1,2}[^0-9])/
O Regex acima procuraria por 1-2 números seguidos não por números desde o início da string. Dependendo de como funciona, uma quebra de linha não indica que ^
deve corresponder novamente.
Se você olhar para os modificadores de padrão PCRE no manual , provavelmente precisará forneça o sinalizador m
para ativar o modo de várias linhas. Além disso, embora esteja faltando na página de manual, talvez seja necessário o sinalizador global. Então o regex acima se tornaria:
/^(\d{1,2}[^0-9])/gm
Você também pode testar essa expressão regular em plataformas como RegEx 101 .