Четвёртый открытый Зеленоградский турнир 2008

К сожалению набор тестов для задачи был не самым стойким поэтому часть решений могут использовать уязвимости.

Задача 1: ^abcdefghijklmnopqrstuv18340$

Задача 2: ^\{?[a-f0-F]{4}([a-f0-F]{4}\-){4}[a-f0-F]{12}\}?$

Задача 3: ^[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}$

Задача 4: ^((http:|https:)//)?[A-Za-z0-9][-A-Za-z0-9]*[A-Za-z0-9](\.[A-Za-z0-9][-A-Za-z0-9]*[A-Za-z0-9])*(:[0-9]+)?(/([A-Za-z0-9._]|%20)+)*(\?([A-Za-z0-9]|%20)+=([A-Za-z0-9]|%20)+(&([A-Za-z0-9]|%20)+=([A-Za-z0-9]|%20)+)*)?(#[A-Za-z0-9]+)?$

Задача 5: ^#[0-9A-Fa-f]{6}$

Задача 6: ^([012][1-9]|10|20|30|31)/(01|03|05|07|08|10|12)/((1[6-9]|[2-9][0-9])[0-9]{2})|([012][1-9]|10|20|30)/(04|06|09|11)/((1[6-9]|[2-9][0-9])[0-9]{2})|29/02/((1[6-9]|[2-9][0-9])(04|08|[13579][26]|[2468][480])|(16|[2468][048]|[3579][26])00)|(0[1-9]|1[0-9]|2[0-8])/02/((1[6-9]|[2-9][0-9])[0-9]{2})$

Задача 7: ^[a-zA-Z_0-9]+([\.-]?[a-zA-Z_0-9]+)*@[a-zA-Z_0-9]+([\.-]?[a-zA-Z_0-9]+)*\.([a-zA-Z_0-9]{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$

Задача 8: ^([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])){3}$

Задача 9: ^([A-Za-z0-9_]*([a-z]([_A-Z0-9]*([A-Z]([_0-9]*[0-9]_____|[_0-9]+[0-9]____|[_0-9]{2,}[0-9]___|[_0-9]{3,}[0-9]__|[_0-9]{4,}[0-9]_|[_0-9]{5,}[0-9])|[0-9]([_A-Z]*[A-Z]_____|[_A-Z]+[A-Z]____|[_A-Z]{2,}[A-Z]___|[_A-Z]{3,}[A-Z]__|[_A-Z]{4,}[A-Z]_|[_A-Z]{5,}[A-Z]))|[_A-Z0-9]+([A-Z]([_0-9]*[0-9]____|[_0-9]+[0-9]___|[_0-9]{2,}[0-9]__|[_0-9]{3,}[0-9]_|[_0-9]{4,}[0-9])|[0-9]([_A-Z]*[A-Z]____|[_A-Z]+[A-Z]___|[_A-Z]{2,}[A-Z]__|[_A-Z]{3,}[A-Z]_|[_A-Z]{4,}[A-Z]))|[_A-Z0-9]{2,}([A-Z]([_0-9]*[0-9]___|[_0-9]+[0-9]__|[_0-9]{2,}[0-9]_|[_0-9]{3,}[0-9])|[0-9]([_A-Z]*[A-Z]___|[_A-Z]+[A-Z]__|[_A-Z]{2,}[A-Z]_|[_A-Z]{3,}[A-Z]))|[_A-Z0-9]{3,}([A-Z]([_0-9]*[0-9]__|[_0-9]+[0-9]_|[_0-9]{2,}[0-9])|[0-9]([_A-Z]*[A-Z]__|[_A-Z]+[A-Z]_|[_A-Z]{2,}[A-Z]))|[_A-Z0-9]{4,}([A-Z]([_0-9]*[0-9]_|[_0-9]+[0-9])|[0-9]([_A-Z]*[A-Z]_|[_A-Z]+[A-Z]))|[_A-Z0-9]{5,}([A-Z][_0-9]*[0-9]|[0-9][_A-Z]*[A-Z]))|[A-Z]([_a-z0-9]*([a-z]([_0-9]*[0-9]_____|[_0-9]+[0-9]____|[_0-9]{2,}[0-9]___|[_0-9]{3,}[0-9]__|[_0-9]{4,}[0-9]_|[_0-9]{5,}[0-9])|[0-9]([_a-z]*[a-z]_____|[_a-z]+[a-z]____|[_a-z]{2,}[a-z]___|[_a-z]{3,}[a-z]__|[_a-z]{4,}[a-z]_|[_a-z]{5,}[a-z]))|[_a-z0-9]+([a-z]([_0-9]*[0-9]____|[_0-9]+[0-9]___|[_0-9]{2,}[0-9]__|[_0-9]{3,}[0-9]_|[_0-9]{4,}[0-9])|[0-9]([_a-z]*[a-z]____|[_a-z]+[a-z]___|[_a-z]{2,}[a-z]__|[_a-z]{3,}[a-z]_|[_a-z]{4,}[a-z]))|[_a-z0-9]{2,}([a-z]([_0-9]*[0-9]___|[_0-9]+[0-9]__|[_0-9]{2,}[0-9]_|[_0-9]{3,}[0-9])|[0-9]([_a-z]*[a-z]___|[_a-z]+[a-z]__|[_a-z]{2,}[a-z]_|[_a-z]{3,}[a-z]))|[_a-z0-9]{3,}([a-z]([_0-9]*[0-9]__|[_0-9]+[0-9]_|[_0-9]{2,}[0-9])|[0-9]([_a-z]*[a-z]__|[_a-z]+[a-z]_|[_a-z]{2,}[a-z]))|[_a-z0-9]{4,}([a-z]([_0-9]*[0-9]_|[_0-9]+[0-9])|[0-9]([_a-z]*[a-z]_|[_a-z]+[a-z]))|[_a-z0-9]{5,}([a-z][_0-9]*[0-9]|[0-9][_a-z]*[a-z]))|[0-9]([_a-zA-Z]*([a-z]([_A-Z]*[A-Z]_____|[_A-Z]+[A-Z]____|[_A-Z]{2,}[A-Z]___|[_A-Z]{3,}[A-Z]__|[_A-Z]{4,}[A-Z]_|[_A-Z]{5,}[A-Z])|[A-Z]([_a-z]*[a-z]_____|[_a-z]+[a-z]____|[_a-z]{2,}[a-z]___|[_a-z]{3,}[a-z]__|[_a-z]{4,}[a-z]_|[_a-z]{5,}[a-z]))|[_a-zA-Z]+([a-z]([_A-Z]*[A-Z]____|[_A-Z]+[A-Z]___|[_A-Z]{2,}[A-Z]__|[_A-Z]{3,}[A-Z]_|[_A-Z]{4,}[A-Z])|[A-Z]([_a-z]*[a-z]____|[_a-z]+[a-z]___|[_a-z]{2,}[a-z]__|[_a-z]{3,}[a-z]_|[_a-z]{4,}[a-z]))|[_a-zA-Z]{2,}([a-z]([_A-Z]*[A-Z]___|[_A-Z]+[A-Z]__|[_A-Z]{2,}[A-Z]_|[_A-Z]{3,}[A-Z])|[A-Z]([_a-z]*[a-z]___|[_a-z]+[a-z]__|[_a-z]{2,}[a-z]_|[_a-z]{3,}[a-z]))|[_a-zA-Z]{3,}([a-z]([_A-Z]*[A-Z]__|[_A-Z]+[A-Z]_|[_A-Z]{2,}[A-Z])|[A-Z]([_a-z]*[a-z]__|[_a-z]+[a-z]_|[_a-z]{2,}[a-z]))|[_a-zA-Z]{4,}([a-z]([_A-Z]*[A-Z]_|[_A-Z]+[A-Z])|[A-Z]([_a-z]*[a-z]_|[_a-z]+[a-z]))|[_a-zA-Z]{5,}([a-z][_A-Z]*[A-Z]|[A-Z][_a-z]*[a-z])))|[A-Za-z0-9_]+([a-z]([_A-Z0-9]*([A-Z]([_0-9]*[0-9]____|[_0-9]+[0-9]___|[_0-9]{2,}[0-9]__|[_0-9]{3,}[0-9]_|[_0-9]{4,}[0-9])|[0-9]([_A-Z]*[A-Z]____|[_A-Z]+[A-Z]___|[_A-Z]{2,}[A-Z]__|[_A-Z]{3,}[A-Z]_|[_A-Z]{4,}[A-Z]))|[_A-Z0-9]+([A-Z]([_0-9]*[0-9]___|[_0-9]+[0-9]__|[_0-9]{2,}[0-9]_|[_0-9]{3,}[0-9])|[0-9]([_A-Z]*[A-Z]___|[_A-Z]+[A-Z]__|[_A-Z]{2,}[A-Z]_|[_A-Z]{3,}[A-Z]))|[_A-Z0-9]{2,}([A-Z]([_0-9]*[0-9]__|[_0-9]+[0-9]_|[_0-9]{2,}[0-9])|[0-9]([_A-Z]*[A-Z]__|[_A-Z]+[A-Z]_|[_A-Z]{2,}[A-Z]))|[_A-Z0-9]{3,}([A-Z]([_0-9]*[0-9]_|[_0-9]+[0-9])|[0-9]([_A-Z]*[A-Z]_|[_A-Z]+[A-Z]))|[_A-Z0-9]{4,}([A-Z][_0-9]*[0-9]|[0-9][_A-Z]*[A-Z]))|[A-Z]([_a-z0-9]*([a-z]([_0-9]*[0-9]____|[_0-9]+[0-9]___|[_0-9]{2,}[0-9]__|[_0-9]{3,}[0-9]_|[_0-9]{4,}[0-9])|[0-9]([_a-z]*[a-z]____|[_a-z]+[a-z]___|[_a-z]{2,}[a-z]__|[_a-z]{3,}[a-z]_|[_a-z]{4,}[a-z]))|[_a-z0-9]+([a-z]([_0-9]*[0-9]___|[_0-9]+[0-9]__|[_0-9]{2,}[0-9]_|[_0-9]{3,}[0-9])|[0-9]([_a-z]*[a-z]___|[_a-z]+[a-z]__|[_a-z]{2,}[a-z]_|[_a-z]{3,}[a-z]))|[_a-z0-9]{2,}([a-z]([_0-9]*[0-9]__|[_0-9]+[0-9]_|[_0-9]{2,}[0-9])|[0-9]([_a-z]*[a-z]__|[_a-z]+[a-z]_|[_a-z]{2,}[a-z]))|[_a-z0-9]{3,}([a-z]([_0-9]*[0-9]_|[_0-9]+[0-9])|[0-9]([_a-z]*[a-z]_|[_a-z]+[a-z]))|[_a-z0-9]{4,}([a-z][_0-9]*[0-9]|[0-9][_a-z]*[a-z]))|[0-9]([_a-zA-Z]*([a-z]([_A-Z]*[A-Z]____|[_A-Z]+[A-Z]___|[_A-Z]{2,}[A-Z]__|[_A-Z]{3,}[A-Z]_|[_A-Z]{4,}[A-Z])|[A-Z]([_a-z]*[a-z]____|[_a-z]+[a-z]___|[_a-z]{2,}[a-z]__|[_a-z]{3,}[a-z]_|[_a-z]{4,}[a-z]))|[_a-zA-Z]+([a-z]([_A-Z]*[A-Z]___|[_A-Z]+[A-Z]__|[_A-Z]{2,}[A-Z]_|[_A-Z]{3,}[A-Z])|[A-Z]([_a-z]*[a-z]___|[_a-z]+[a-z]__|[_a-z]{2,}[a-z]_|[_a-z]{3,}[a-z]))|[_a-zA-Z]{2,}([a-z]([_A-Z]*[A-Z]__|[_A-Z]+[A-Z]_|[_A-Z]{2,}[A-Z])|[A-Z]([_a-z]*[a-z]__|[_a-z]+[a-z]_|[_a-z]{2,}[a-z]))|[_a-zA-Z]{3,}([a-z]([_A-Z]*[A-Z]_|[_A-Z]+[A-Z])|[A-Z]([_a-z]*[a-z]_|[_a-z]+[a-z]))|[_a-zA-Z]{4,}([a-z][_A-Z]*[A-Z]|[A-Z][_a-z]*[a-z])))|[A-Za-z0-9_]{2,}([a-z]([_A-Z0-9]*([A-Z]([_0-9]*[0-9]___|[_0-9]+[0-9]__|[_0-9]{2,}[0-9]_|[_0-9]{3,}[0-9])|[0-9]([_A-Z]*[A-Z]___|[_A-Z]+[A-Z]__|[_A-Z]{2,}[A-Z]_|[_A-Z]{3,}[A-Z]))|[_A-Z0-9]+([A-Z]([_0-9]*[0-9]__|[_0-9]+[0-9]_|[_0-9]{2,}[0-9])|[0-9]([_A-Z]*[A-Z]__|[_A-Z]+[A-Z]_|[_A-Z]{2,}[A-Z]))|[_A-Z0-9]{2,}([A-Z]([_0-9]*[0-9]_|[_0-9]+[0-9])|[0-9]([_A-Z]*[A-Z]_|[_A-Z]+[A-Z]))|[_A-Z0-9]{3,}([A-Z][_0-9]*[0-9]|[0-9][_A-Z]*[A-Z]))|[A-Z]([_a-z0-9]*([a-z]([_0-9]*[0-9]___|[_0-9]+[0-9]__|[_0-9]{2,}[0-9]_|[_0-9]{3,}[0-9])|[0-9]([_a-z]*[a-z]___|[_a-z]+[a-z]__|[_a-z]{2,}[a-z]_|[_a-z]{3,}[a-z]))|[_a-z0-9]+([a-z]([_0-9]*[0-9]__|[_0-9]+[0-9]_|[_0-9]{2,}[0-9])|[0-9]([_a-z]*[a-z]__|[_a-z]+[a-z]_|[_a-z]{2,}[a-z]))|[_a-z0-9]{2,}([a-z]([_0-9]*[0-9]_|[_0-9]+[0-9])|[0-9]([_a-z]*[a-z]_|[_a-z]+[a-z]))|[_a-z0-9]{3,}([a-z][_0-9]*[0-9]|[0-9][_a-z]*[a-z]))|[0-9]([_a-zA-Z]*([a-z]([_A-Z]*[A-Z]___|[_A-Z]+[A-Z]__|[_A-Z]{2,}[A-Z]_|[_A-Z]{3,}[A-Z])|[A-Z]([_a-z]*[a-z]___|[_a-z]+[a-z]__|[_a-z]{2,}[a-z]_|[_a-z]{3,}[a-z]))|[_a-zA-Z]+([a-z]([_A-Z]*[A-Z]__|[_A-Z]+[A-Z]_|[_A-Z]{2,}[A-Z])|[A-Z]([_a-z]*[a-z]__|[_a-z]+[a-z]_|[_a-z]{2,}[a-z]))|[_a-zA-Z]{2,}([a-z]([_A-Z]*[A-Z]_|[_A-Z]+[A-Z])|[A-Z]([_a-z]*[a-z]_|[_a-z]+[a-z]))|[_a-zA-Z]{3,}([a-z][_A-Z]*[A-Z]|[A-Z][_a-z]*[a-z])))|[A-Za-z0-9_]{3,}([a-z]([_A-Z0-9]*([A-Z]([_0-9]*[0-9]__|[_0-9]+[0-9]_|[_0-9]{2,}[0-9])|[0-9]([_A-Z]*[A-Z]__|[_A-Z]+[A-Z]_|[_A-Z]{2,}[A-Z]))|[_A-Z0-9]+([A-Z]([_0-9]*[0-9]_|[_0-9]+[0-9])|[0-9]([_A-Z]*[A-Z]_|[_A-Z]+[A-Z]))|[_A-Z0-9]{2,}([A-Z][_0-9]*[0-9]|[0-9][_A-Z]*[A-Z]))|[A-Z]([_a-z0-9]*([a-z]([_0-9]*[0-9]__|[_0-9]+[0-9]_|[_0-9]{2,}[0-9])|[0-9]([_a-z]*[a-z]__|[_a-z]+[a-z]_|[_a-z]{2,}[a-z]))|[_a-z0-9]+([a-z]([_0-9]*[0-9]_|[_0-9]+[0-9])|[0-9]([_a-z]*[a-z]_|[_a-z]+[a-z]))|[_a-z0-9]{2,}([a-z][_0-9]*[0-9]|[0-9][_a-z]*[a-z]))|[0-9]([_a-zA-Z]*([a-z]([_A-Z]*[A-Z]__|[_A-Z]+[A-Z]_|[_A-Z]{2,}[A-Z])|[A-Z]([_a-z]*[a-z]__|[_a-z]+[a-z]_|[_a-z]{2,}[a-z]))|[_a-zA-Z]+([a-z]([_A-Z]*[A-Z]_|[_A-Z]+[A-Z])|[A-Z]([_a-z]*[a-z]_|[_a-z]+[a-z]))|[_a-zA-Z]{2,}([a-z][_A-Z]*[A-Z]|[A-Z][_a-z]*[a-z])))|[A-Za-z0-9_]{4,}([a-z]([_A-Z0-9]*([A-Z]([_0-9]*[0-9]_|[_0-9]+[0-9])|[0-9]([_A-Z]*[A-Z]_|[_A-Z]+[A-Z]))|[_A-Z0-9]+([A-Z][_0-9]*[0-9]|[0-9][_A-Z]*[A-Z]))|[A-Z]([_a-z0-9]*([a-z]([_0-9]*[0-9]_|[_0-9]+[0-9])|[0-9]([_a-z]*[a-z]_|[_a-z]+[a-z]))|[_a-z0-9]+([a-z][_0-9]*[0-9]|[0-9][_a-z]*[a-z]))|[0-9]([_a-zA-Z]*([a-z]([_A-Z]*[A-Z]_|[_A-Z]+[A-Z])|[A-Z]([_a-z]*[a-z]_|[_a-z]+[a-z]))|[_a-zA-Z]+([a-z][_A-Z]*[A-Z]|[A-Z][_a-z]*[a-z])))|[A-Za-z0-9_]{5,}([a-z][_A-Z0-9]*([A-Z][_0-9]*[0-9]|[0-9][_A-Z]*[A-Z])|[A-Z][_a-z0-9]*([a-z][_0-9]*[0-9]|[0-9][_a-z]*[a-z])|[0-9][_a-zA-Z]*([a-z][_A-Z]*[A-Z]|[A-Z][_a-z]*[a-z])))$

Задача 10: ^[1-9][0-9]{5}$