Мы конвертируем PDF-файлы счетов в текст, и они сильно различаются. Они содержат произвольный текст, ставки НДС (обозначаются %) и суммы (цифры, за которыми не следует %). Цель состоит в том, чтобы сопоставить суммы с регулярным выражением.
Различные шаблоны регулярных выражений были опробованы, но не удалось. Как извлечь первое число, которое не заканчивается символом процента (
) с использованием C# 10 и .NET 10? Между числом и символом процента может быть или не быть пробела.
Для следующих текстов результаты должны быть 4,23 и 5,67.
Код: Выделить всё
Arbitrary text 3.12 % Arbitrary text 4.23 Arbitrary text
или
Код: Выделить всё
Arbitrary text 5.67 Arbitrary text 8% Abitrary text
Я пробовал регулярное выражение -?[0-9]{1,3}(?:[_,.]?[0-9]{3})*[.,]?[0-9]{0,2}[^%], но оно возвращает 3,12.
Regex101>