Записи имеют следующий формат:
Код: Выделить всё
(date as dd/MM)(space)(description)(space)(optional negative sign)(space)(value)Код: Выделить всё
18/11 GUIDINHA PAPELARIA 78,00
23/11 CONFEITARIA -CT R CAS 10,00Код: Выделить всё
19/11 SONHO DOS BICHOS 01/03 120,66
22/02 CLARO LJ SHOP LEBL10/12 65,75
25/11 RDSAUDE ONLI*RD S - 0,01На данный момент я написал следующее регулярное выражение:
Код: Выделить всё
^(\d{2}\/\d{2}) ([\w\s*.=-]+)((\d{2})\/(\d{2}))? (-)? ?(\d{1,3}(.\d{3})*,\d{2})[img]https://i.sstatic. net/O9GddF18.png[/img]
Не работает для отрицательных значений, поскольку знак минус рассматривается как часть описания:

[img]https://i.sstatic .net/oHYSpkA4.png[/img]
Он правильно определяет отрицательные значения, когда я удаляю символ - из группы 2:
Код: Выделить всё
^(\d{2}/\d{2}) ([\w\s*.=]+)((\d{2})/(\d{2}))? (-)? ?(\d{1,3}(.\d{3})*,\d{2}), но не может анализировать записи с помощью - символом в описании
< /p>
Кажется (я не уверен на 100%), что символ появляется только в описании, за которым следует« КТ », такой как в
Код: Выделить всё
23/11 CONFEITARIA Код: Выделить всё
-CTSo a possible solution, although not very elegant, would be to say that the description can contain - only when followed by "CT".
Подробнее здесь: https://stackoverflow.com/questions/793 ... ce-entries
Мобильная версия