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 № 1Jeśli chcesz tylko ostatnie cyfry, potrzebujesz grupy, która nie chce przechwycić:
(?<=(?:[A-Z]{3}s){2})[0-9]{3}
1 dla odpowiedzi nr 2
Czy jest jakiś powód, dla którego nie możesz spojrzeć za kotwicą?
(?<=s)d{3}$