Pouze tento týden sleva až 80 % na e-learning týkající se PHP. A zároveň využij akce až 30 % zdarma při nákupu e-learningu. Více informací.
Hledáme asistenty pro kurzy programování - pohodová brigáda. Více info
PHP week
Avatar
matesax
Redaktor
Avatar
matesax:26.5.2013 8:31

Dobrý den,
mám mapu (slovník) šablon kódů a jsem schopen dostat základní výraz. Ten však nemusí odpovídat žádné ze šablon, jelikož nechci limitovat whitespace, taby, dokonce ani nové řádky. Tímto patternem jsem schopen dostat jednotlivé prvky šablony:

"\w+|=+|>"

Kdyby se v C# dala porovnávat pole, stačilo by:

Dictionary<pole, typVýrazu> onaMapa

Problém je v tom, že Regex dokáže jen vyhledat shodu, či rozdělit do pole. Mohu samozřejmě Joinovat do stringu - z toho pole - a pak dosadit do mapy, ale už takto tam mám pár náročných akcí. Nemohl bych místo rozdělení do pole dostat podle toho patternu ("\w+|=+|>") jednotlivé sekvence rozdělené navoleným separátorem? (Místo pole to mít rovnou Joinované do jednoho stringu, který jen dosadím do mapy a dostanu typ výrazu.)
Děkuji.

Editováno 26.5.2013 8:33
 
Odpovědět
26.5.2013 8:31
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
matesax
Redaktor
Avatar
matesax:26.5.2013 8:39

Parsuji tento syntax:

add ~/ddd, /ddd;

modifikator jmenoTridy = class >

        cns ~ mozneParametry > # nebo constructor

        snc;

        modifikator jmeno = void ~ int parametr1, bool parametr2 >

                while true >

                        < jmenoVolaneMetody;

                        < outMetoda out: promenna1, promenna 2 ~ par1, par2;

                        promenna < metodaSNavratem;

                        promenna = ddd;

                elihw;

                foreach ddd in ppp >

                hcae;

                switch ddd >

                        case eee:

                        esac;

                hctiws;

        end;

        modifikator outMetoda = void out: ddd, aaa ~ par1, par2 >

        end;

end;
 
Nahoru Odpovědět
26.5.2013 8:39
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.