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 № 1Se 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}
1 para resposta № 2
Existe uma razão pela qual você não pode olhar para trás com uma âncora?
(?<=s)d{3}$