<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 met RegExp

Ninja-Level-Datafeed-Optimalisatie-met-RegExp

Als u DataFeedWatch al gebruikt heeft u misschien het woord "regexp" al opgemerkt in de opties voor toewijzing. In dit artikel leg ik uit hoe RegExp in onze app kan worden gebruikt, maar laten we eerst verduidelijken wat RegExp precies is.

Een reguliere expressie (afgekort RegExp) is een speciale tekstreeks om een ​​zoekpatroon te beschrijven. U kunt reguliere expressies beschouwen als jokertekens, maar dan beter. U bent waarschijnlijk bekend met jokertekens zoals *.txt om alle tekstbestanden in een map te vinden. RegExp werkt volgens dezelfde principes, maar kan nog veel meer.

Het kost wat oefening om RegExp onder de knie te krijgen, maar als u eenmaal weet hoe het werkt is het erg handig. Als u geïnteresseerd bent in reguliere expressies kan ik deze tutorial aanraden.

Het is ook een goed idee om uw RegExp te testen voordat u deze implementeert. Er zijn veel online tools om dat te doen. De tool die ik gebruik heet Rebular.

Laten we verder gaan met voorbeelden uit de praktijk om te zien hoe RegExp nuttig kan zijn als het gaat om feedoptimalisatie.

 

Voorbeeld 1

Stel dat u een veld 'kleur' wilt maken voor uw Google Shopping feed. U hebt geen veld voor kleur in uw winkel, maar u weet dat alle titels van uw producten eindigen op een kleurnaam (bijv. Adidas Heren Snova Glide 5 Hardloopschoenen Groen).

De beste manier om met deze situatie om te gaan, is de kleur van de naam toe te wijzen en een vervangingsregel te gebruiken met RegExp:

 

DataFeedWatch Regular Expression

Het werkt als volgt:

  1. deel elke naam op in 2 groepen:
    groep 1 - alles behalve het laatste woord (.*) waarbij
    .* => staat voor elk teken dat een aantal keer voorkomt  groep 2 –laatste woord (s[^s]+) waarbij
    s => staat voor een spatie
    [^s]+ => elk teken zonder spaties dat tenminste eenmaal voorkomt
  2. Vervang de bestaande waarde die kan worden beschreven als (.*)(s[^s]+) met een nieuwe waarde in groep 2 (in RegExp taxonomie, geschreven als $2)

Het resultaat voor “Adidas Heren Snova Glide 5 Hardloopschoenen Groen” is in dit geval “Groen”.

 

 

Voorbeeld 2

Stel dat u een prijsveld maakt voor een kanaal dat 2 decimalen accepteert (bijvoorbeeld 12.45) en uw prijzen hebben er 4 (12.4500). Ook hier komt het vervangen van regels door RegExp van pas. Om het formaat aan te passen moeten we het als volgt instellen:

DataFeedWatch RegExp

Net als bij het volgende voorbeeld gebruikt u regels:

  1. deel de prijs op in 2 groepen:
    groep 1 – alles behalve de laatste 2 
    decimalen ([0-9]+.[0-9]{2})  waarbij
    [0-9]+ => een heel getal is
    . => een punt is
    ([0-9]{2} => een getal van 2 cijfers is groep 2 – de laatste twee
    decimalen ([0-9]{2})
  2. Vervang de bestaande waarde die kan worden beschreven als ([0-9]+.[0-9]{2})([0-9]{2})  met een nieuwe waarde in groep 1 ($1)

De uitkomst van deze toewijzing voor 12.4500 is 12.45.

Houd er rekening mee dat deze afbeelding de prijs niet naar twee decimalen afrondt, maar in plaats daarvan de laatste twee cijfers afkapt.

 

Voorbeeld 3

Stel dat u het product_type voor Google Shopping wilt instellen als hoofdcategorie van uw producten (bijvoorbeeld auto-onderdelen), maar in uw systeem hebt u alleen de hele categoriepaden (bijvoorbeeld auto-onderdelen > BMW > 320i > 2013).

Wat u dan kunt doen, is alles beginnend met ">" verwijderen. De regel hiervoor ziet er als volgt uit:

Data Feed Optimization with DataFeedWatch RegExp

waarbij
s>.* => een willekeurig teken is, gevolgd door een ">" gevolgd door een willekeurig teken dat een aantal keren voorkomt

De uitkomst van deze toewijzing voor "auto-onderdelen> BMW> 320i> 2013" zou "auto-onderdelen" zijn.

 

Voorbeeld 4

Stel u voor het laatste voorbeeld een kanaal voor dat UPC's vereist, maar in uw systeem hebben niet alle producten UPC's en de UPC's die u hebt, hebben niet allemaal het juiste formaat (12 cijfers). Als u een feed verzendt met producten waarvoor de UPC's leeg of onjuist zijn, kan de hele feed worden geweigerd. Wat u moet doen, is die producten uitsluiten. Dit kunt u doen met een uitsluitingsregel met behulp van...  Juist, de RegExp.

Data Feed Optimization with RegExp

Wat we hier doen is alleen producten selecteren waarvoor de UPC een 12-cijferig getal is. Met andere woorden, alleen producten waarvan de UPC overeenkomt met RegExp ^[0-9]{12}$

Dit zijn slechts enkele voorbeelden van hoe RegExp kan worden gebruikt. De vuistregel is dat wanneer er ingewikkelde toewijzingen worden gemaakt, de RegExp uw "wapen van keuze" moet zijn.

Als u problemen hebt met de toewijzingen, beschrijf uw probleem dan in de comments en ik zal proberen een geschikte RegExp te vinden om het te verhelpen (indien mogelijk).

Written by Paweł Fijak

Mijn naam is Pawel Fijak 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