Editor pravidel

Podmínky

Při tvorbě šablony dynamické skupiny můžete pro definování podmínky použít tři druhy operátory:

Číselné operátory umožňující porovnávat číselné hodnoty
Řetězcové operátory umožňující porovnávat alfanumerické hodnoty
Boolovské operátory: "= (rovná se)" a "≠ (nerovná se)"

Seznam operátorů

K dispozici je následujících 6 hodnot:

 "= (rovná se)"
 "≠ (nerovná se)"
 "> (větší než)"
 "≥ (větší nebo rovno)"
 "< (menší než)"
 "≤ (menší nebo rovno)"

Řetězcové operátory

K dispozici je následujících 9 hodnot:

"= (rovná se)" – cílový řetězec musí přesně odpovídat zadané hodnotě
"≠ (nerovná se)" –  cílový řetězec nesmí přesně odpovídat zadané hodnotě
"obsahuje" – vyhledá část řetězce v cílovém řetězci
"má prefix" – vyhledá v cílovém řetězci několik počátečních znaků, například v řetězci "Microsoft Visual C++ 2010 x86 Redistributable - 10.0.30319" prefix představuje "Micros", "Micr" nebo "Microsof" atp.
"má postfix" – vyhledá v cílovém řetězci několik posledních znaků, například v řetězci "Microsoft Visual C++ 2010 x86 Redistributable - 10.0.30319" postfix představuje "319" nebo "0.30319" atp.
"regex" – používá Perl syntaxi
"v" – vyhledá přesný výraz, například pro vyhledání řetězce "Microsoft Windows" musíte přesně zadat "Microsoft Windows"
"má masku" a "v (maska řetězce)" umožňuje použít zástupné znaky:
* – představuje libovolný počet znaků (0 a více)
? – představuje přesně jeden znak

Příklady

"a*" odpovídá "a", "aa", "ax", "abcde"
"a?" odpovídá "aa", "ab", "ac", ale ne "a" nebo "aaa"
"a??" odpovídá "aaa", "aab", "axy", ale ne "a", "aa" nebo "aaaa"
"a?*" odpovídá "aa", "ax", "abcde", ale ne "a"
"*a*" odpovídá "a", "xa", "ax", "xax", "dynamic", "abba"
"?*" odpovídá všemu kromě ""

Booleovské operátory

Tento seznam obsah obsahuje pouze dvě hodnoty, ale platí vždy pro druhou část podmínky:

"= (rovná se)" – další podmínka bude pravdivá
"≠ (nerovná se)" – další podmínka bude nepravdivá
Použití základní matematických operátorů je všeříkající samo o sobě (například větší než). K ostatním níže uvádíme bližší vysvětlení:

operátor "obsahuje" – podmínka bude splněna, pokud operand bude obsahovat zadaný řetězec.

operátor "má prefix" – podmínka bude splněna, pokud operand začíná uvedenými znaky. Například "xyz" má prefix "xy".

operátor "má postfix" – podmínka bude splněna, pokud operand končí uvedenými znaky. Například "xyz" má postfix "yz".

operátor "má masku" – umožní použít zástupné znaky pro porovnávání operandů. Například "*z" odpovídá "xyz".

operátor "regex" –  umožní použít regulární výrazy odpovídající Perl syntaxi. Podmínka bude splněna, pokud operand bude odpovídat regulárnímu výrazu.

operátor "v" – operand je seznam hodnot. Podmínka bude splněna, pokud seznam bude obsahovat zadanou hodnotu. Například "xyz" se nachází v ("abc", "def", "xyz").

operátor "v (maska řetězce)" – operand je seznam hodnot, ve kterém je možné používat zástupné znaky. Podmínka bude splněna, pokud seznam bude obsahovat zadanou hodnotu. Například "xyz" se nachází v ("a*", "*f", "*z").

operátor "nemá hodnotu" – podmínka bude splněna, pokud operand nebude obsahovat hodnotu. Druhý operand bude ignorován.

operátor "má hodnotu" – podmínka bude splněna, pokud operand bude obsahovat hodnotu. Druhý operand bude ignorován.