Waar kunnen wij u bij helpen?
Afdrukken

Dynamisch Tarief – Reguliere expressies

Met een Premium- of Premium Plus pakket zijn dynamische tarieven onderdeel van het Transport Management Systeem EasyTrans. Hiermee kun je tarieven instellen die pas geactiveerd worden als er bepaalde gegevens aanwezig zijn binnen een order. Denk bijvoorbeeld aan een bepaalde postcode, leverdag of land binnen afleverbestemmingen. Voor het vastleggen van de zoekwaardes (de gegevens die aanwezig moeten zijn voor activatie van het tarief) kun je reguliere expressies gebruiken.

Reguliere expressies

Binnen EasyTrans kun je reguliere expressies gebruiken om voorwaarden aan dynamische tarieven te koppelen.

Wat is een reguliere expressie?

Een reguliere expressie is een manier om patronen te beschrijven waardoor een computer softwarematig tekst/inhoud kan herkennen. Binnen de syntax (de grammatica van een programmeertaal) van reguliere expressies staan bepaalde tekens voor een patroon. Hierdoor kun je bij dynamische tarieven exact vastleggen bij welke gegevens het tarief geactiveerd moet worden.

Hoe het werkt

Bij een dynamisch tarief leg je vast binnen welke invoervakken van de order-entry er gecontroleerd moet worden op bepaalde gegevens. Daarnaast leg je vast op welke gegevens er gezocht moet worden (de zoekwaarde), dit doe je met een reguliere expressie.

Bij het ingeven van ordergegevens controleert EasyTrans je ingave op eventuele gekoppelde tarieven. Op deze manier kun je dus geautomatiseerd een tarief pas activeren als er bepaalde gegevens zijn vastgelegd in orders. Geef je bijvoorbeeld een levering in voor een zaterdag, met daarop een dynamisch zaterdag-tarief vanwege een weekendtoeslag? Dan wordt de toeslag automatisch geactiveerd o.b.v. van je orderingave!

Veelgebruikte expressies

Reguliere expressies zijn heel flexibel! In onderstaand overzicht vind je enkele veelgebruikte expressies binnen EasyTrans:

^
Dakje
Geeft het begin van een tekenreeks aan ^10 geeft een zoekhit bij bijv. 10, 100, 1000
NIET bij 110 of 1100
|
Pipe
Staat vrij vertaald voor ‘of’. Zoek naar … of naar…. Oranje | Blauw geeft een zoekhit bij Oranje maar ook bij Blauw
\s
Backslash + s
‘\s’ staat voor een spatie (whitespace)
Let op: Reguliere expressies zijn hooflettergevoelig, \S (hoofdletter S) betekent geen whitespace of spatie
^7943\sPE geeft een zoekhit op de postcode 7943 PE maar niet op de aan elkaar geschreven variant 7943PE
*
Sterretje
Een sterretje achter een teken geeft aan dat een teken nul keer of vaker mag voorkomen. ^7943\s*PE geeft een zoekhit op de postcode 7943 PE én op 7943PE
+
Plus
Een plusteken achter een teken geeft aan dat het vorige teken ten minste één keer moet voorkomen, maar dit mag ook oneindig vaak. 211+ geeft een zoekhit bij bijv. 211 of 2111 of 21111
NIET BIJ 21
?
Vraagteken
Een vraagteken geeft aan dat het voorgaande teken nul of één keer mag voorkomen. 211? geeft een zoekhit op 211 en 21
NIET OP 2111
.
Punt
Staat voor elk willekeurig teken
(Behalve \n (Starten op een nieuwe regel / lijn))
. geeft een zoekhit op ieder karakter behalve regeleindes.
()
Haakjes
T.b.v. het zoeken van de tekens binnen de haakjes (patroongroep), in de exacte volgorde, op een willekeurige plaats in een tekenreeks.
Kan daarnaast ook gebruikt worden om andere expressies te groeperen.
(10) geeft een zoekhit bij 10101, 1011
(?!)
Vraagteken + Uitroepteken + tussen haakjes
Hiermee kun je tekens uitsluiten. ^7943(?!\s*PE) geeft een zoekhit bij alle postcodes binnen de 7943-reeks, behalve bij 7943 PE
[]
Brackets/Vierkante haken
Tussen de brackets kun je een lijst met mogelijke/toegestane tekens plaatsen. De tekens tussen de haakjes mogen in elke volgorde, op een willekeurige plaats in een tekenreeks voorkomen. [10] geeft een zoekhit bij 012, 120, 210
[-]
Minteken tussen brackets
T.b.v. het zoeken binnen een reeks, bijvoorbeeld 0-5 is zoeken naar 0 t/m 5. Een vereenvoudigde manier van de eerdergenoemde OF-overeenkomst (|).  [1|2|3|4|5] is hetzelfde als [0-5]. [0-9] geeft een zoekhit bij elk cijfer van 0 tot en met 9
[^]
Dakje binnen brackets
Een dakje als eerste teken binnen vierkante haken verandert de tekenverzameling in het omgekeerde. [^0-9] herkent alles wat geen cijfer is.

Met bovenstaande reguliere expressies kun je dus de gegevens vastleggen waarop je een tarief wilt activeren, een voorbeeld:
Situatie: Ik wil een een toeslag berekenen bij een levering in Texel. Texel heeft een postcodegebied: 1791 t/m 1797
Binnen mijn dynamische tarief geef ik in dat er gecontroleerd moet worden op de postcodes van de afleverbestemming en geef de volgende zoekwaarde in: Zoekwaarde: ^179[0-7]

Uitleg zoekwaarde

  • ^: Start de zoekopdracht hier, zonder het dakje is bijvoorbeeld 91790 ook een zoekresultaat.
  • 179: Deze tekens moeten exact overeenkomen, in deze volgorde, om een resultaat te geven.
  • [0-7]: Binnen deze reeks moet gezocht worden (179 gevolgd door 1t/m7)

Expressie testen

Reguliere expressies zijn een krachtige manier om te zoeken op diverse combinaties van letters en cijfers. Een instelling kan hierdoor soms complex worden. Ga je bezig met de reguliere expressies en wil je je invoer eens testen? Ga dan eens naar: regexr.com! Geef bij ‘Expression’ je expressie in en bij ‘Text’ de zoekwaarde die je hoopt te vinden!

Support

Reguliere expressies zijn dus heel flexibel maar ook heel uitgebreid. Het instellen van dynamische tarieven kan wellicht vrij complex zijn.
Van veel dynamische tarieven is er een kennisbankartikel aanwezig. Hierin staan diverse voorbeelden met zoekwaardes:

Kom je er niet uit? Medewerkers van EasyTrans Software helpen je graag bij het instellen van dynamische tarieven! Neem gerust contact met ons op.

Vorige Dynamisch tarief – Tijd
INHOUD