<img height="1" width="1" style="display:none" src="https://q.quora.com/_/ad/8fb78ae898f448e9b008c905098c9da9/pixel?tag=ViewContent&amp;noscript=1">

Ninja Level DataFeed Optimalisatie door het gebruik van RegExp

Segmenteer Analytics - Filter Producten - Aangepaste weergaven

Diegenen van u die al gebruik maken van DataFeedWatch hebben misschien het woord “regexp” wel eens zien staan in mapping opties. In dit artikel zal ik uitleggen hoe RegExp kan worden gebruikt in onze app, maar laat ik eerst vertellen wat RegExp precies is.

Een ‘Regular Expression’ (afgekort tot RegExp) is een speciale tekst-string om een zoekpatroon te beschrijven. Denk aan regular expressions als een jokerteken op steroïden. U bent waarschijnlijk wel bekend met wildcard-schrijfwijzen zoals *.txt om alle tekstbestanden in een bestandsmanager te vinden. RegExp werkt volgens dezelfde principes maar kan zoveel meer doen.

Het vereist wat oefening om te wennen aan RegExp, maar zodra u het onder de knie heeft is het bijzonder handig. Voor diegenen die geïnteresseerd zijn in het leren van regular expressions beveel ik deze handleiding aan.

Het is ook een goed idee om uw RegExp te testen voordat u het daadwerkelijk inzet. Er zijn veel online tools in omloop die precies dat voor u doen. De tool die ik gebruik heet Rubular.

Dus, laten we gaan kijken naar voorbeelden uit de praktijk om te zien waar RegExp kan helpen als het gaat om feed optimalisatie.

 

Voorbeeld 1

Stelt u zich voor dat u een veld ‘kleur’ moet maken voor uw Google Shopping-feed. U heeft geen veld voor kleur in uw winkel, maar u weet dat alle titels van uw producten eindigen met een kleurnaam (bijv. Adidas Heren Snova Glide 5 Loopschoenen Groen).

De beste manier om met deze situatie om te gaan is om kleur te structureren vanuit naam en een extra vervang-regel te gebruiken met RegExp zoals hier:

Vul het kleur veld voor je Google Shopping feed vanuit je titels met gebruik van Regular Expressions

Wat het doet:

  1. Verdeel iedere naam in twee groepen:
    groep 1 - alles behalve het laatste woord vertegenwoordigd door (.*), waar
    .* => ieder enkel karakter dat ieder aantal keren voorkomt
    groep 2 – het laatste woord, voorgesteld als (s[^s]+) waar
    s => iedere witruimte
    [^s]+ => ieder enkel karakter, zonder witruimtes, dat op zijn minst een keer voorkomt
  2. Vervang bestaande waarde die kan worden beschreven als (.*)(s[^s]+) met een nieuwe waarde die groep 2 is (in RegExp-taxonomie geschreven als $2)

De uitkomst van deze mapping voor “Adidas Heren Snova Glide 5 Loopschoenen Groen” zou “Groen” moeten zijn.

 

Voorbeeld 2

Stelt u zich voor dat u een veld ‘prijs’ maakt voor een kanaal dat 2 getallen achter de komma accepteert (bijv. 12,45) en uw prijzen hebben er vier (12,4500). Weer komt de vervang regel met RegExp ons hier te hulp door het formaat aan te kunnen passen zoals hier:

Gebruik Regular Expressions om je productprijzen te matchen met feed specificaties

Deze regel, vergelijkbaar aan het vorige voorbeeld:

  1. Verdeelt iedere prijs in 2 groepen;
    groep 1 – alle behalve de laatste twee cijfers achter de komma ([0-9]+.[0-9]{2}) waar
    [0-9]+ => ieder heel nummer
    , => komma karakter
    ([0-9]{2} => ieder 2-cijferig nummer
    groep 2 – de laatste twee decimalen ([0-9]{2})
  2. Vervangt bestaande waarde welke kan worden omschreven als ([0-9]+.[0-9]{2})([0-9]{2}) met een nieuwe waarde die groep 1 is ($1)

De uitkomst van deze structuur voor 12,4500 is 12,45.

Let op: deze structuur rondt de prijs niet af op 2 decimalen achter de komma, maar snijdt alleen de laatste twee cijfers eraf.

 

Voorbeeld 3

Laten we stellen dat u product_type wilt instellen voor Google Shopping als de belangrijkste categorie van uw producten (bijv. Auto-onderdelen) maar in uw systeem heeft u alleen een pad staan voor de hele categorie (bijv. Auto-onderdelen > BMW > 320i > 2013).

Wat u hier moet doen is alles verwijderen vanaf ‘>’. De regel die dit doet, ziet er zo uit:

Maak een product_type aan vanuit je volledige categorie pad met Regular Expressions

Waar

s>.* => iedere enkel karakter gevolgd door “>” gevolgd door ieder enkel karakter dat ieder aantal keren voorkomt.

De uitkomst van deze structuur voor “Auto-onderdelen > BMW > 320i > 2013” zou “Auto-onderdelen” moeten zijn.

 

Voorbeeld 4

Stelt u zich voor het laatste voorbeeld een kanaal voor dat UPCs vereist, maar in uw systeem hebben niet alle producten UPCs en de UPCs die u wel heeft hebben niet allemaal het juiste (12-cijferige) formaat. Als u een feed stuurt met producten waarin de UPC’s leeg zijn of niet juist, dan wordt de hele feed afgekeurd. Wat u moet doen is deze producten uitsluiten. Dit kan met een enkele regel met gebruik van … RegExp.

Sluit alleen producten in je Google Shopping feed in die een 12-cijferige UPC hebben met Regular Expressions

Wat we hier moeten doen is alleen die producten insluiten waarvoor UPC een exact 12-cijferig nummer is. In andere woorden: sluit alleen producten in als UPC matcht met regexp ^[0-9]{12}$

Dit zijn slechts een paar van de talloze voorbeelden hoe RegExp kan worden ingezet. De vuistregel is dat waar er een complexe mapping is, u gebruik moet maken van RegExp als uw “toverstaf”.

Als u tegen zaken aanloopt betreffende uw mapping, beschrijf ze dan hieronder. Ik zal dan proberen een juiste RegExp manier te vinden om ermee om te gaan.

Written by René Bisschop

Mijn naam is René Bisschop en ik ben als Country Manager Benelux werkzaam voor DataFeedWatch. Ik ben verantwoordelijk voor het begeleiden van de forse groei van onze organisatie in deze regio. Ik houd me dagelijks bezig met het ondersteunen en adviseren van eRetailers en Online Marketing bureau's op het gebied van Data Feed Management en Feed Marketing. Met mijn zeer ruime ervaring in de online sector en als ondernemer begrijp ik de problematiek van web-winkeliers maar al te goed en heb ik een brede kennis op het gebied van Online Marketing. Ik ben graag bereid mijn kennis te delen en mee te denken, neem daarom gerust eens contact met me op.

Comments

Aanbevolen

gemaakt door    met  DataFeedWatch

Schrijf voor Ons