diff --git a/utils/test_text.py b/utils/test_text.py index 0a087b2..da18baa 100644 --- a/utils/test_text.py +++ b/utils/test_text.py @@ -24,3 +24,7 @@ def test_extract_decimal_prices_many() -> None: Decimal(122.00), Decimal(100.00), ] + + +def test_extract_decimal_prices_without_commas() -> None: + assert extract_decimal_prices("$2110.00") == [Decimal(2110.00)] diff --git a/utils/text.py b/utils/text.py index 294c29d..155ab80 100644 --- a/utils/text.py +++ b/utils/text.py @@ -4,7 +4,10 @@ def extract_decimal_prices(text: str) -> list[Decimal]: prices: list[Decimal] = [] - matches = re.findall(r"\$(\d{1,3}(?:,\d{3})*(?:\.\d{2}))?", text) + matches = re.findall( + r"\$((?:\d{1,3}(?:,\d{3})+|\d+)(?:\.\d{2}))", + text, + ) for match in matches: prices.append(Decimal(match.replace(",", "")))