Paweł Fijak
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:
Het werkt als volgt:
- 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 - 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:
Net als bij het volgende voorbeeld gebruikt u regels:
- 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}) - 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:
waarbijs>.*
=> 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.
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).