Neues Thema starten

matches greift nicht sauber

Hallo,


wir nutzen folgenden Wert in einem Feld:


<#assign res = Versandadresse?split(";")[2]?matches(r'([a-zA-Z\s\.\-\ß]+)\s(.*[0-9]+.*)')>

<#if res>

${res[1]}

<#else>

Leer

</#if>


Leider können wir bei dem Wert Versandadresse Packstation 1234 nicht per ?groups auf die einzelnen Werte zugreifen. Laut regex101.com ist jedoch der regex richtig.


Kann mir jemand den Hinweis geben, was falsch ist?


VG

Henning


Hallo Henning, 


bitte einmal das split entfernen und im if zweig auch ?groups verwenden, sodass es am ende folgendermaßen aussieht:


<#assign res = Versandadresse?matches(r'([a-zA-Z\s\.\-\ß]+)\s(.*[0-9]+.*)')>
<#if res>

${res?groups[1]}

<#else>

Leer
</#if>


Mit freundlichen Grüßen,


Dein Synesty-Support.

Hallo,

ich habe auch ein Problem mit RegEx auf ein sehr großes Plenty Eigenschaftsfeld. Die Map Funktion geht nicht, da der Feldinhalt > 255 Zeichen ist.

Weder VariationProperties!?matches(r'.*nd_stat_ks_zulauf=(\d+).*') noch VariationPropertyIDs!?matches(r'.*91\w(\d+).*') funktioniert. Habt Ihr einen Tipp für mich?

@shopmind: Mit Map-Funktion meinst du .at() bzw. parseMap()? Wir hatten diese Limitierungen eigentlich schon vor einigen Monaten mal vergrößert. d.h. es sollten schon mehr als 255 Zeichen im Value stehen können.  Also sofern nicht der Key so lang ist, sollte es eigentlich gehen.

Die aktuellen Limits siehst du z.B. hier bei parseMap.




1 Person gefällt dies

Danke für die schnelle Antwort. Das Ihr das Feld erweitert hattet wusste ich schon, leider ist es auch deutlich größer wie 1000 Zeichen. Ihr könntet bei Mocavi schauen (Flow Flow Sync339 Lagerplanung MOCAVI _inArbeit, Step 8) Spalte: Zulauf Test

${parseMap(VariationProperties!).at("nd_stat_ks_zulauf")} gibt Fehler:

Script error: (Root Causes: IllegalArgumentException: Map-Key is limited to 255 characters. TemplateModelException: No error description was specified for this error; low-level message: java.lang.Ill(...)...

Wir haben noch einen Doku Fehler entdeckt. Es sind 10000 Zeichen und nicht 1000. Reicht das auch nicht? In Flows können wir nicht schauen (nur mit Support-User und Ticket).   


1 Person gefällt dies

Könntest du uns ein Beispiel des kompletten Feldes hier posten (Sensitive Daten entfernen)? Da scheint ein Key dabei zu sein, der länger als 255 Zeichen ist.
Wir prüfen das dann mal. 


 

Wert von Synesty entfernt

 Bitte die Artikeldaten besser nicht freigeben

Wahrscheinlich ist es eher wegen der Semikolon innerhalb vom Texte?

Dank Dirk wir prüfen das. Noch ein Hinweis. Wir haben die Daten deshalb wieder entfernt. Du bist hier im öffentlichen Forum. Alles was hier steht ist für jeden sichtbar. Deshalb sensitive Daten bitte entfernen oder Ticket.


1 Person gefällt dies

Ja, das war mir bewusst, aber ihr braucht die original Daten ;-)

Das Problem sind die Gleichheitszeichen (=) und Semikolons (;) in den Werten der Eigenschaften. Du kannst 


<#assign res = VariationProperties?matches("nd_stat_ks_zulauf=([^;]*)")>
<#list res as m>${m?groups[1]}</#list>


verwenden. Das sollte den richtigen Wert ausgeben.



1 Person gefällt dies

Vielen Dank.


Schon etwas umständlich. Meine Lösung funktionierte in allen Test-RegEx Lösungen, aber Hauptsache es funktioniert.

Anmelden um einen Kommentar zu veröffentlichen