Probleme mit Kontoaktualisierung
mh at mike.franken.de
mh at mike.franken.de
Tue Dec 26 12:05:43 GMT 2023
On Dienstag, 26. Dezember 2023 12:57:27 CET mh--- via KMyMoney wrote:
> On Montag, 25. Dezember 2023 22:19:21 CET Thomas Baumgart via KMyMoney
wrote:
> > On Sonntag, 24. Dezember 2023 15:34:50 CET mh--- via KMyMoney wrote:
> [...]
>
> > > <TRANSACTION dateposted="2023-12-22" payee="" action="none"
> > > amount="-211/25" memo="MICHAEL HIRMKE AMZN Mktp DE*3A7OC0625 LUX
> > > 800-279-6620 Karten-Nr. XXXXXXXXXXXXXXXXBeleg vom 20.12.2023 für
> > > Abrechnung Dezember" number="" bankid="A000259-2023-12-22-1e12880-1"
> > > reconcile="0"/>
> > >
> > > oder
> > >
> > > <TRANSACTION dateposted="2023-12-22" payee="" action="none"
> > > amount="-211/25">
> > >
> > > memo="MICHAEL HIRMKE
AMZN Mktp DE*3A7OC0625 LUX
> > > 800-279-6620
Karten-Nr. XXXXXXXXXXXXXXXXBeleg vom 20.12.2023
für
> > > Abrechnung Dezember" number="" bankid="A000259-2023-12-22-1e12880-1"
> > > reconcile="0"/>
> > >
> > > wenn ich nicht die Zeilenumbrüche entfernen lasse.
> > > Es steht also alles im MEMO-Feld.
> > >
> > > Sowas wie
> > >
> > > ^MICHAEL HIRMKE
(.+?)

> > >
> > > sollte doch dann den Empfänger in $1 fangen.
> > > Klappt aber leider nicht 8-(
>
> [...]
>
> > Also könnte etwa
> >
> > ^[^\x{0A}]*\x{0A}(.{27})
> >
> > die bessere Wahl sein. Für das Memo kannst Du dann folgenden Ausdruck
> > probieren:
> >
> > ^[^\x{0A}]*\x{0A}.{27}(.*)
>
> leider funktioniert weder
>
> '^[^\x{0A}]*\x{0A}(.{27})'
>
> noch
>
> '^.*?
(.{27})'
>
> in kmymoney.
>
> In Perl hingegen klappt:
>
> $rp = qq(^[^\x0A]*\x0A(.{27}));
> $rm = qq(^[^\x0A]*\x0A.{27}(.*));
> $t = qq(MICHAEL HIRMKE\x0AAMZN Mktp DE*3A7OC0625 LUX
> 800-279-6620\x0AKarten-Nr. XXXXXXXXXXXXXXXXBeleg vom 20.12.2023\x0Afür
> Abrechnung Dezember);
>
> if( $t =~ /${rp}/i ) {
> print ">", $1, "<\n";
> } else {
> print "no match for payee!\n";
> }
> if( $t =~ /${rm}/i ) {
> print ">", $1, "<\n";
> } else {
> print "no match for memo!\n";
> }
>
> ergibt:
> >AMZN Mktp DE*3A7OC0625 <
> >LUX 800-279-6620
Karten-Nr. XXXXXXXXXXXXXXXXBeleg vom
> >20.12.2023
für
> Abrechnung Dezember<
>
> Und auch mit
>
> $rp = '^.*?
(.{27})';
> $rm = '^.*?
.{27}(.*)';
> $t = 'MICHAEL HIRMKE
AMZN Mktp DE*3A7OC0625 LUX
> 800-279-6620
Karten-Nr. XXXXXXXXXXXXXXXXBeleg vom 20.12.2023
für
> Abrechnung Dezember';
>
> klappts.
besser:
$rp = qq(^[^\x0A]*\x0A(.{27}));
$rm = qq(^[^\x0A]*\x0A.{27}(.*));
$t = qq(MICHAEL HIRMKE\x0AAMZN Mktp DE*3A7OC0625 LUX
800-279-6620\x0AKarten-Nr. XXXXXXXXXXXXXXXXBeleg vom 20.12.2023\x0Afür
Abrechnung Dezember);
if( $t =~ /${rp}/s ) {
print ">", $1, "<\n";
} else {
print "no match for payee!\n";
}
if( $t =~ /${rm}/s ) {
print ">", $1, "<\n";
} else {
print "no match for memo!\n";
}
>
> Ciao.
> Michael.
More information about the KMyMoney
mailing list