sobota 7. března 2015

Definice zdroje s -r regex

Ve výpočetní technice se často používají regulární výrazy abyste mohli pomocí jednoho textového řetězce vyjádřit proměnný tvar řetězce, se kterým hledáte. O tom jsem už psal v souvislosti s pluginem Save images. V mém programu bude existovat možnost jak jednoduše specifikovat soubory, které chcete použít pro provedení příkazu. Argument se označuje jako -r a můžete to číst jako regex (z anglického regular expression). slovo regex zde označuje syntaxy.

Syntaxe použití:
program.exe -r regex

-r {x:..}_{y:...}_extension
-r {...}_{...}_extension
-r _{x:..}_{y:...}_extension
-r _{x:..}_{y:...}_extension

Místo tří teček si doplníte buď číslo nebo číselný rozsah. Místo extension si doplníte koncovku souboru nebo regulární výraz pro koncovku. Písmena x: a y: označují kterou osu v mřížce označuje číslo v souboru.

-r _{...}_{...}_ se překládá jako -r _{y:..}_{x:...}_

Pokud neuvedete písmeno x,y tak je výraz vyhodnocen tak, že na místě první závorky se očekává y.

Příklady použití:

-r 15_{0-2}_{3-4}*.jpg
Program bude hledat předponu 15_ a za ním číselný rozsah označující osu y. Za tímto číslem je uvedeno podtržítko a za ním číslo x. Za ním může následovat jakýkoliv textový řetězec končící koncovkou .jpg
Tečka na konci znamená že program bude hledat tečku v názvu souboru.

Obdoba příkazu nahoře:

-r 15_{y:0-2}_{x:3-4}*.jpg 

Oba regulární výrazy mají vyhledat tyto soubory:

15_0_3.jpg
15_0_4.jpg
15_1_3.jpg
15_1_4.jpg
15_2_3.jpg
15_2_4.jpg

V průzkumníku Windows si můžete tyto soubory najít a uspořádat přesně tak jak to vidíte v mém výpisu. Toto je výhoda pojmenování souboru ve stylu y,x místo x,y protože v opačném případě nebudou soubory jasně uspořádány podle osy y.

Další příklady:

-r 15_{y:-2}_{x:-4}*.jpg
-r 15_{y:-2}_{-4}*.jpg

Zde jsem napsal pouze jedno číslo, avšak pozor! Nejedná se o číslo záporné. Pomlčka zde znamená, že číslo nalevo uvnitř závorky chybí! Tzn. není zadán dolní limit a proto tento výraz bude hledat tyto soubory:

15_0_0.jpg
15_0_1.jpg
15_0_2.jpg
15_0_3.jpg
15_0_4.jpg
15_1_0.jpg
15_1_1.jpg
15_1_2.jpg
15_1_3.jpg
15_1_4.jpg
15_2_0.jpg
15_2_1.jpg
15_2_2.jpg
15_2_3.jpg
15_2_4.jpg


Příklady s nevýhodným uspořádáním souborů:

-r 15_{x:2-}_{y:2-}*.jpg 
Tento výraz hledá soubor začínající na 15_ a pokračující číslem vyšším než 2 na osex umístěné jako uprostřední číslo souboru a poslední číslo je y větší než dva.


-r 15_{x:2000-}_{-}*.jpg
Tento výraz hledá soubory začínající na číslo 15_ a pokračující od čísla 2000 výše pro osu x. Osa y může být jakékoliv číslo a pak následuje koncovka souboru.

Využití v praxi

V praxi se tento regulární výraz bude hodit například na vytvoření jednoho obrazu pomocí příkladu -join z menších obrazů, které zapadají do mřížky. Stejně tak by mělo být možno rozdělit soubor na více obrázků tímto způsobem. Vhodné pro nacvičování základních operací programu. Vyšší formou na rozsáhlejší operace bude příkaz -task, který se nebude omezovat pouze na dva číselné rozsahy.

Žádné komentáře:

Okomentovat