Mam fragment tekstu:Regex: zamów ignorując grup
randomtext 1150,25 USD randomtext
i prostego wyrażenia regularnego wyodrębnić kwotę pieniędzy w różnych walutach:
(((\d+)(,?\s?|.)(\d{1,2}))\s?(PLN|EUR|USD|CHF|GBP))
Który daje mi te grupy:
- 1150,25 USD
- 1150,25
- ,
- USD
Jednak liczba i walutą mogą się zamienić ich pozycji:
losowy tekst 1150,25 USD randomtex t
lub
randomtext USD1150,25 randomtext
Jak należy poprawić mój regex spełniają ten warunek bez powtarzania całych grup (AB | BA) utrzymując aktualny zgrupowanie?
użyj nazwanej grupy –
Niestety nie można tego zrobić z nazwanymi grupami, myliłem się. Aby użyć nazwanych grup jako referencji, grupa musi wcześniej istnieć. Zobacz ten https://regex101.com/r/qI9xV1/1 –
Jakiego języka używasz? –