Wpis z mikrobloga

Mam taki ciąg:

1 2 23 54 24 (liczby rozdzielone spacjami, bez określonej długości liczby).

Próbuję stworzyć regex, który wyłapałby mi każdą z liczb z osobna i wrzucił do grupy. Chciałem łapać najpierw pierwszą liczbę, po czym łapać pary (spacja)(liczba).

(\d+)(?: (\d+))+ - takie coś nie działa - łapie mi tylko pierwszą liczbę i ostatnią, te pomiędzy pomija kompletnie - czemu się tak dzieje i jak zrobić to poprawnie? Link do regex101.com

Przykład wydaje się banalny, ale poległem sromotnie...

#wyrazeniaregularne #regex #programowanie
  • 9
@asunez: Regex ma dokładnie tyle grup, ile ma par nawiasów (nie licząc grupy zerowej). Nie można wsadzić nawiasu w gwiazdkę i mieć zmiennej ilości grup, a przynajmniej nie w standardowych implementacjach.