Datenfeed-Optimierung auf Ninja-Level mit RegExp

Veröffentlicht am 29.09.2017 16:34:54 durch Martin Ender

Data-Feed-Optimierung-auf-Ninja-Level-mit-RegExp.jpg

Diejenigen von Ihnen, die bereits DataFeedWatch nutzen, könnten das Wort „regexp“ bereits bei den Mapping-Optionen bemerkt haben. In diesem Artikel werde ich erklären, wie Sie RegExp in unserer App verwenden können, aber schauen wir zuerst, was genau RegExp ist.

Ein regulärer Ausdruck (kurz RegExp) ist eine spezielle Textzeichenfolge, um ein Suchmuster zu beschreiben. Sie können sich reguläre Ausdrücke als gepushte Platzhalter vorstellen. Sie sind wahrscheinlich damit vertraut, mit Trunkierungen wie *.txt alle Textdateien in einem Dateimanager zu finden. RegExp arbeitet nach dem gleichen Prinzip, kann aber so viel mehr.

Es braucht einige Übung, um den Dreh bei RegExp hinzubekommen, aber sobald Sie es beherrschen, ist es sehr praktisch. Für diejenigen, die reguläre Ausdrücke lernen wollen, kann ich dieses Tutorial empfehlen.

Es ist auch eine gute Idee, Ihre RegExp zu testen, bevor Sie es einsetzen. Es gibt viele Online-Tools, die genau das tun. Das Werkzeug, das ich verwende, wird Rebular genannt.

Lassen Sie uns also auf Beispiele aus der Praxis konzentrieren, um zu sehen, wie RegExp hilfreich sein kann, wenn es um Feed-Optimierung geht.

 

Beispiel 1

Stellen Sie sich vor, Sie brauchen ein Feld ‚Farbe‘ für Ihren Google Shopping-Feed. Sie haben kein Feld für Farbe in Ihrem Geschäft, aber Sie wissen, dass alle Titel Ihrer Produkte mit einem Farbnamen enden (zum Beispiel Adidas Mens Snova Glide 5 Turnschuhe Grün).

Der beste Weg, um mit dieser Situation umzugehen, ist die Farbe den Namen zuzuordnen und eine zusätzliche Ersetzen-Regel mit RegExp wie folgt zu erstellen:

 datafeedwatch-regular-expression.png

Diese:

  1. Unterteilt jeden Namen in zwei Gruppen:

Gruppe 1 - alles außer dem letzten Wort, dargestellt durch (.*), wobei

(.*) => jedes Einzelzeichen ist, welches beliebig oft auftaucht.

Gruppe 2 - letztes Wort, dargestellt durch (s[^s]+), wobei

s => jedes Leerzeichen ist und

[^s]+ => jedes Einzelzeichen außer einem Leerzeichen ist, welches mindestens einmal auftaucht

  1. Ersetzt den vorhandenen Wert, der als (.*)(s[^s]+) beschrieben werden kann mit einem neuen Wert, der die Gruppe 2 ist (in der RegExp Begrifflichkeit geschrieben als $ 2)

Das Ergebnis dieser Zuordnung für „Adidas Mens Snova Glide 5 Turnschuhe Grün“ würde „grün“ sein.

 

Beispiel 2

Stellen Sie sich vor, Sie erstellen ein Preisfeld für einen Kanal, das zwei Dezimalstellen akzeptiert (zum Beispiel 12.45) und Ihre Preise haben 4 Stellen (12.4500). Wieder ist die Ersetzen-Regel mit RegExp praktisch. Um das Format zu vereinheitlichen, müssen wir es wie folgt festgelegen:

datafeedwatch-regexp.png 

Ähnlich wie bei dem vorherigen Beispiel, wird diese Regel:

  1. jeden Preis in 2 Gruppen aufteilen:

Gruppe 1 - alles außer den letzten zwei Dezimalstellen ([0-9]+.[0-9]{2}), wobei gilt,

[0-9]+ => jede ganze Zahl

. => Punkt

([0-9]{2} => jeden 2-stellige Zahl,

Gruppe 2 - die letzten zwei Dezimalstellen ([0-9]{2})

  1. den vorhandenen Wert, der wie folgt beschrieben werden kann ([0-9]+.[0-9]{2})([0-9]{2}) mit einem neuen Wert ersetzen, der Gruppe 1 ($ 1)

Das Ergebnis dieser Zuordnung für 12.4500 ist 12.45.

Beachten Sie, dass diese Zuordnung nicht den Preis auf zwei Dezimalstellen rundet, sondern die letzten zwei Ziffern abschneidet.

 

Beispiel 3

Angenommen, Sie wollen product_type für Google Shopping als Hauptkategorie Ihrer Produkte (zum Beispiel Autoteile) setzen, aber in Ihrem System haben Sie nur ganze Kategorienpfade (zum Beispiel Autoteile > BMW > 320i > 2013).

Hier müssen Sie alles nach „>“ entfernen. Die Regel, die das abdeckt, sieht wie folgt aus:

 datafeedwatch-regexp-optimization.png

wobei

s>.* => jedes einzelne Zeichen gefolgt von einem „>“ ist, gefolgt von einem einzelnen Zeichen, welches beliebig oft erscheint

Das Ergebnis dieser Zuordnung für „Autoteile > BMW > 320i > 2013“ würde „Autoteile“ sein.

 

Beispiel 4

Für das letzte Beispiel, stellen Sie sich einen Kanal vor, der UPCs erfordert, aber in Ihrem System haben nicht alle Produkte UPC. Und die UPCs, die Sie haben, haben nicht alle das geeignete Format (12-stellig). Wenn Sie einen Feed mit Produkten senden, bei denen das Feld für die UPCs leer ist oder unsachgemäß, kann der ganze Feed abgelehnt werden. Sie müssen also diese Erzeugnisse ausschließen. Dies kann mit einer einzigen Regel gemacht werden, mit – Sie ahnen es - RegExp.

regexp-data-feed-optimization.png

Was wir hier tun werden, ist nur die Produkte, für die die UPC genau eine 12-stellige Nummer ist, einzubeziehen. Mit anderen Worten, nur Produkte einbeziehen, wenn UPC der regexp ^[0-9]{12}$ entspricht.

Das sind nur einige der zahllosen Beispiele dafür, wie RegExp verwendet werden kann. Die grobe Regel ist, dass wann immer es einige komplexe Zuordnungen braucht, RegExp Ihre „Geheimwaffe“ ist.

Wenn Sie irgendwelche Probleme mit Zuordnungen haben, beschreiben Sie diese bitte in den Kommentaren, und ich werde versuchen, eine ordentliche RegExp dafür zu finden, (wenn möglich).

 

Data

 

Über DataFeedWatch

DataFeedWatch ist eine Datenfeed Management Software, welche es Händlern erlaubt auf Magento, Shopify, Volusion3Dcart, BigCommerce, WooCommerce, OpenCart und anderen Warenkörben  Produkt-Daten-Feeds für Google und über 1000 weiteren Shopping Kanälen, in 50 Ländern, zu optimieren. DFW-Analytics  zeigt noch dazu den Erfolg jedes individuellen Produkts auf jedem Kanal an, so dass Verkäufer ihren ROI verbessern, indem sie unprofitable Produkte identifizieren und entfernen.

veröffentlicht in: Data Feeds

verfasst von Martin Ender

ähnliche Beiträge

Diejenigen von Ihnen, die bereits DataFeedWatch nutzen, könnten das Wort „regexp“ bereits bei den Mapping-Optionen bemerkt haben. In diesem Artikel ...
Diejenigen von Ihnen, die bereits DataFeedWatch nutzen, könnten das Wort „regexp“ bereits bei den Mapping-Optionen bemerkt haben. In diesem Artikel ...
Diejenigen von Ihnen, die bereits DataFeedWatch nutzen, könnten das Wort „regexp“ bereits bei den Mapping-Optionen bemerkt haben. In diesem Artikel ...
Diejenigen von Ihnen, die bereits DataFeedWatch nutzen, könnten das Wort „regexp“ bereits bei den Mapping-Optionen bemerkt haben. In diesem Artikel ...

Jetzt teilen!

Updates per Mail erhalten