/ / Por que esse prefixo regex não funciona? - regex, notepad ++

Por que esse prefixo regex não funciona? - regex, notepad ++

Eu tenho uma amostra de dados que estou procurando encontrar correspondências dentro. Eu estou testando no Notepad ++.

QA 44
ABQ DAL 280
ABQ HOU 290
HOU PHX 210
DAL PHX 102

Quando uso a seguinte expressão regular, obtenho correspondências como esperado nas últimas quatro linhas

([A-Z]{3}s){2}[0-9]{3}

Mas quando eu tento aprimorar o número de 3 dígitos no final e mover todo o resto para um prefixo, nenhum resultado é retornado.

(?<=([A-Z]{3}s){2})[0-9]{3}

O que exatamente estou fazendo de errado com o prefixo? Eu quero que todos esses números de 3 dígitos correspondam e se qualifiquem nos códigos de letras antes, mas não está funcionando.

Respostas:

2 para resposta № 1

Se você quer apenas os últimos dígitos, você precisa de um grupo sem captura dentro de olhar para trás:

(?<=(?:[A-Z]{3}s){2})[0-9]{3}

veja demo


1 para resposta № 2

Existe uma razão pela qual você não pode olhar para trás com uma âncora?

(?<=s)d{3}$