/ / Dlaczego ten prefiks regex nie działa? - regex, notepad ++

Dlaczego ten prefiks regex nie działa? - regex, notepad ++

Mam próbki danych, których szukam, aby znaleźć dopasowania wewnątrz. Testuję w Notepad ++.

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

Kiedy używam następującego wyrażenia regularnego, otrzymuję dopasowania zgodnie z oczekiwaniami w ostatnich czterech liniach

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

Ale kiedy próbuję poprawić trzycyfrową liczbę na końcu i przenieść wszystko inne na prefiks, nie powrócą żadne dopasowania.

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

Co dokładnie robię źle z prefiksem? Chcę, aby wszystkie te 3-cyfrowe liczby pasowały do ​​siebie i kwalifikowały się do kodów liter przed nim, ale to nie działa.

Odpowiedzi:

2 dla odpowiedzi № 1

Jeśli chcesz tylko ostatnie cyfry, potrzebujesz grupy, która nie chce przechwycić:

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

zobacz demo


1 dla odpowiedzi nr 2

Czy jest jakiś powód, dla którego nie możesz spojrzeć za kotwicą?

(?<=s)d{3}$