會計

KMyMoney:使用正則表達式從備註欄位中提取收款人

  • February 8, 2018

簡潔版本:

KMyMoney 中的“從備註欄位中提取收款人”功能如何工作?

你可以在這裡找到它:KMyMoney > 賬戶 > 選擇賬戶 > “編輯賬戶” > “線上設置” > “使用正則表達式從備註欄位中提取收款人”

截屏

TL; 博士

我使用Google搜尋,在“KMyMoney 4.8.1 版的 KMyMoney 手冊”中搜尋並查看了 QRegExp 類<http://doc.qt.io/archives/qt-4.8/qregexp.html#1>的文件 但沒有成功. 任何帶有指向特定文件的 RTFM 將不勝感激。

這是一些背景和交易資訊以及我嘗試過的內容:

我的 KMyMoney 版本是 4.8.0,建立在 Ubuntu 16.04.3 上的 KDE Plattform 4.14.16 上,通過這個 PPA <https://launchpad.net/~michael-ruoss/+archive/ubuntu/kmymoney>安裝 我更喜歡 4.8。 1,但我沒有找到在 AqBanking 支持下編譯的 4.8.1 的 PPA(如果您知道,我將不勝感激)。

我使用 KMyMoney 和 Aqbanking 從我的銀行下載交易數據。我依靠收款人預設類別來實現自動類別分配。

這非常適用於轉賬和直接借記付款,因為在這些情況下,我的銀行 (GLS) 會正確填寫收款人欄位。

但是,對於借記卡付款,收款人資訊僅包含在備註欄位中。

因此,我想從備忘錄欄位中提取收款人資訊。

當我發現“編輯帳戶”>“線上設置”>“使用正則表達式從備註欄位中提取收款人”時,我感到非常高興。

以下是所有三種類型的一些範例事務(2 個有效,1 個無效):

直接借記(正常工作,填寫收款人欄位):

2018 年 1 月 5 日收款人:Berliner Tienerverein eV 租戶協會發布至 2018 年 12 月 Eref:11704290B43060967 Cref:XW3000-DD2018-01-04-05.38.08-01-04-05.38.08.168352 MREF:11704290 CRED:DE:DE DE85100500000073729000

轉賬(正常工作,填寫收款人欄位):

收款人:Andreas Meier BIC:WELADED1PMBIBAN:DE02160500001000748486日期:12.01.18 時間:11:42UFT 0011991436 TAN 979262舞蹈課 2018 年 1 月 WELADED1PMB/DE02160500001000748452

借記卡付款(收款人欄位為空,收款人為“EDEKA GOETZE”,僅包含在備註欄位中):

卡支付借記卡EDEKA GOETZE / BERLIN09.01.2018 / 17:49 Gircard58069551 / 093,613 / ECTL / NPIN64051/2 / 1220REF 864315/260050 EREF:58069011174902晶片:XW3000-DD2018-01-10-12.07.38.430455 MREF:864,315 : DE37ZZZ00001651213 EDEKDEHHXXX / DE78200907004364716071

借記卡付款(收款人欄位為空,收款人為“ALDI SAGT DANKE 20 047”,僅包含在備註欄位中):

收款人:信用卡支付借記卡阿爾迪表示感謝20047 / Berlin09.01.2018 / 10.17 girocard54402607 / 565180 /金/ FPIN64051 / 4118553100/0/1220 EREF:54402607565180090118101714 CREF:XW3000-DD2018-01-11-00.37.25.206760 MREF:561442 CRED: DE03ZZZ00001606817 GENODEDDXXX /DE42300600100000135546

借記卡付款(收款人欄位為空,收款人為“denns Biomarkt”,僅包含在備註欄位中):

收款人:Kartenzahlung Debitkartedenns Biomarkt / Berlin11.01.2018 / 09.45 girocard61440314 / 079189 / CICC / FPIN64051 /2分之4118553100/ 1220REF OFFLINE EREF:61440314079189110118094513 CREF:XW3000-DD2018-01-12-11.56.10.332472 MREF:OFFLINE CRED:DE22ZZZ00000151669 WELADEDDXXX / DE86300500000001052141

因此,如果備忘錄以“Kartenzahlung Debitkarte”開頭,我需要以下所有字元,直到第一個 /

所以我點擊“編輯帳戶”>“線上設置”>“使用正則表達式從備註欄位中提取收款人”。

“收款人的正則表達式”“備忘錄的正則表達式”欄位打算如何使用?

不太清楚會發生什麼我嘗試使用正則表達式來提取所有內容,然後將它們修剪成我需要的內容。對 Payee 和 Memo 使用這些表達式沒有任何效果:(. *?)

[\s\S]*

當我在兩個欄位中嘗試 .* 時,最後一筆交易的備忘錄減少到最後一行:“WELADEDDXXX/DE86300500000001052141”

所以產生了某種效果。但是,收款人欄位仍然是空的。

如上所述,我使用Google搜尋,在“KMyMoney 4.8.1 版的 KMyMoney 手冊”中搜尋並查看了 QRegExp 類的文件http://doc.qt.io/archives/qt-4.8/qregexp.html #1 沒有成功。

QRegExp 類實現了正則表達式的不同變體,哪一種用於收款人提取?

這兩個欄位是如何使用的?

任何帶有指向特定文件的 RTFM 將不勝感激。

謝謝!

丁滿

將使用第一個擷取組,因此您必須使用括號。例如,這應該從您的範例中提取收款人:

Kartenzahlung Debitkarte(.+?)\/

引用自:https://money.stackexchange.com/questions/89487