^(?=User name:)\s*\[A-Za-z]+
-
(?=User name:)
o que você precisa é lookbehind, not lookahead:
(?<=User name:)
-
^(?=User name:)
- lookbehind pesquisará no início, independentemente de onde você o colocou em sua expressão, por isso está procurando por "Nome do usuário:" seguido pelo início da linha e alguns espaços. Inclua o início da linha também:
(?<=^User name:)
- coloque seu nome entre colchetes, então será mais fácil capturá-lo:
([A-Za-z]+)
-
[A-Za-z]
também pode haver espaços no seu nome, ou até mesmo algumas letras com sotaque, eu modifico assim:
(\S.+)
(nenhum caractere de espaço (seguindo espaços em branco) seguido de tudo até o final da linha)
Toda a expressão é:
(?<=^User name:)\s*(\S.+)$
Você pode testar aqui .