Regex (Regular Expressions) to potężne narzędzie do wyszukiwania i manipulacji tekstem. Poniżej znajdziesz krótką instrukcję jak stworzyć prostą formułę REGEX, która będzie dopasowywać nazwy lokalizacji według określonego wzoru. Wikipedia.
- Określenie wielkości sektora
- W zależności od fizycznego rozmiaru, możemy określić jedną halę lub piętro jako sektor, lub możemy wydzielić zakres alejek w każdej hali osobno.
- Każdy sektory będzie miał osobną formułę, według której zostaną przypisane lokalicje.
- Określenie sektorów pozwala na szybszą realizację zamówień, których produkty leżą w jednym sektorze. Jednak należy pamiętać, że zawsze będą zamówienia, których produkty będą leżeć w różnych sektorach.
- Określenie wzoru sektora
- Aby zastosować wyrażenia regularne, nazwy lokalizacji muszą być zgodne z dowolnym wzorcem.
- Załóżmy, że lokalizacja składa się z oznaczenia hali, alejki, numeru regału i numeru półki, oddzielonych ukośnikami ("/"). Przykład: "H1/AE/10/C".
- Oznaczenie hali: Literka "H" i cyfra (np. "H1").
- Oznaczenie alejki: Literka (np. "A").
- Nazwy półek są mało istotne, ponieważ regały mogą być za małe..
- Budowanie formuły
- Formuła powinna się zaczynać od znaczka ^ aby doapsować wzór do początku nazwy lokalizacji.
- Korzystamy z formuły H[0-9] aby dopasować dowolną halę, lub wpisujemy konkretną halę (H1, H2, H3).
- Używamy separatora / aby oznaczyć kolejny element nazwy.
- Aby oznaczyć jedną alejkę, wpisujemy jej literę (A, B, C, itd.). Aby dopasować dowolną alejkę, wpisujemy [A-Z], a jeżeli chcemy wybrać tylko część alejek, wpisujemy np. [A-G], co oznacza, że w tym sektorze będą alejki od A do G.
- Wpisujemy nazwę sektora, aby można było go łatwo rozpoznać.
- Przykładowe wzory
- Jeżeli chcemy ustawić każdą halę jako osobny sektor, ustawiamy formuły ^H1, ^H2, ^H3, itd.
- Jeżeli chcemy ustawić sektor jako alejki od A do G, H do S i T do Z niezależnie od hali, możemy to zrobić wzorami ^H[0-9]/[A-G], ^H[0-9]/[H-S] oraz ^H[0-9]/[T-Z]
- Jeżeli chcemy ustawić halę pierwszą jako sektor oraz dwie połowy drugiej hali jako dwa sekory, możemy to zrobić następująymi wzorami: ^H1, ^H2/[A-M] oraz ^H2/[N-Z]
- Uwagi
- REGEX jest czuły na wielkość liter, dlatego upewnij się, że oznaczenia alejki i półki są wielkimi literami.
- REGEX jest czuły na konkretne znaki, więc przypadkowe znaki jak np. spacja, tabulator lub błędny ukośnik spowoduje, że dopasowanie nie będzie możliwe.
- Jeżeli oznaczenia są dłuższe, możesz używać kwantyfikatorów tj
- * (gwiazdka): Dopasowuje 0 lub więcej wystąpień poprzedniego elementu
- ? (znak zapytania): Dopasowuje 0 lub jeden wystąpień poprzedniego elementu
- + (plus): Dopasowuje 1 lub wiecej wystąpień poprzedniego elementu
- {x} (lub {x,y}): Dopasowuje określona ilość wystąpień poprzedniego elementu