Я пытаюсь создать регулярное выражение, чтобы соответствовать всей дате, описанию и сумме.У меня это почти получилось, НО строка, заканчивающаяся на «187927.42», путается и совпадает с «187927.42» вместо «-2,931.25».
Как мне сопоставить «22.12.15», «BNF»: eeeerere TECHNOLOGIES ID: 1231231231 BNF BK: K OTAK MAHINDRA BANK LTD ID: INKKBK0000810 PMT DET: 16 2105412 117,25 ЧАСОВ POP УСЛУГИ / FXREF / TE-3-8-15 "," -2,931.25 "?Вместе со всеми другими строками транзакции?
Вот выражение, которое я придумал /(\d{2}\/\d{2}\/\d{2})\s+(.*?)\s+([0-9\,\-]+\.\d{2}) *(?=\d\d\/|$(?!\n-?[\d\.]+$))/mis
См. Этот пример здесь https://regex101.com/r/X9HeWv/1
12/17/15 Online Banking transfer to CHK 4958 Confirmation# 1231231231 -300.00
12/18/15 Online Banking transfer to CHK 4958 Confirmation# 1231231231 -200.00
12/18/15 THE HARTFORD DES:NWerfLSCIC ID:13975910 INDN:wesedrfr TECHNOLGOIES CO
ID:9942902727 CCD
-78.75
12/21/15 Online Banking transfer to CHK 4958 Confirmation# 1231231231 -50.00
12/22/15 WIRE TYPE:FX OUT DATE:151228 TIME:0944 ET TRN:2015122200194472 FX:INR 187927.42
64.1117 BNF:eeeerere TECHNOLOGIES ID:1231231231 BNF BK:K OTAK MAHINDRA BANK
LTD ID:INKKBK0000810 PMT DET:16 2105412 117.25 HOURS POP SERVICES /FXREF/TE-3-8-15
-2,931.25
12/22/15 Online Banking transfer to CHK 4958 Confirmation# 1231231231 -6,000.00
12/28/15 FORD CREDIT DES:FORDCREDIT ID:XXXXXXXXX INDN:werwe wer CO
ID:7587806091 PPD
-1,180.00
12/28/15 SC EVERCODER SOF DES:IAT PAYPAL ID:J222226DW9MWA INDN:werwer eeee CO
ID:XXXXXXXXXC IAT PMT INFO: WEB 000000000000000900
-9.00
12/29/15 Online Banking transfer to CHK 4958 Confirmation# 1231231231 -200.00
ОБНОВЛЕНИЕ:
Таким образом, добавив условие, требующее разделителя тысяч, когда число больше, чем тысяча сработало.Но я чувствую, что это не лучший подход.
(\-?(?!0+\.00)(?=.{1,9}(\.|$))(?!0(?!\.))\d{1,3}(,\d{3})*(\.\d+)?)
(\d{2}\/\d{2}\/\d{2})\s+(.*?)\s+(\-?(?!0+\.00)(?=.{1,9}(\.|$))(?!0(?!\.))\d{1,3}(,\d{3})*(\.\d+)?) *(?=\d\d\/|$(?!\n+$))
https://regex101.com/r/T8sxkh/1