Rule Editor

Conditions

When you set conditions for a Dynamic Group template, there are different operators used for different conditions.

There are 3 types of lists:

Numeric operator lists contain operators that compare numeric values
String operator lists contain operator that compare alphanumeric values
Boolean operator lists contain only two operators, true "= (equal)" and false "≠ (not equal)"

Operators Lists types

The list contains 6 values:

"= (equal)"
"≠ (not equal)"
"> (greater than)"
"≥ (greater or equal)"
"< (less than)"
"≤ (less or equal)"

String operators list

The list contains 9 values:

"= (equal)" - set only exact and whole searched value
"≠ (not equal)" - set only exact and whole value that you want search to ignore
"has substring" - set substring anywhere in the expression
"has prefix" - set exactly few first characters from searched string, e. g. string "Microsoft Visual C++ 2010 x86 Redistributable - 10.0.30319", the prefix means "Micros" or "Micr" or "Microsof"etc.
"has postfix" - set exactly few last characters from searched string, e. g. string "Microsoft Visual C++ 2010 x86 Redistributable - 10.0.30319", the postfix means "319" or "0.30319", etc.
"regex" - uses a Perl syntax
"in" - set exact expression, e. g. string "Microsoft Windows" you have to write exactly "Microsoft Windows"
"has mask" and "in (string mask)"have 2 kinds of wildcard characters:
* - matching any number of characters (0 or more)
? - matching exactly 1 character

Examples

"a*" matches "a", "aa", "ax", "abcde"
"a?" matches "aa", "ab", "ac", but not "a" or "aaa"
"a??" marches "aaa", "aab", "axy", but not "a", "aa" or "aaaa"
"a?*" matches "aa", "ax", "abcde", but not "a"
"*a*" matches "a", "xa", "ax", "xax", "dynamic", "abba"
"?*" matches anything except ""

Boolean operators list

The list contains 2 values, but these values are always connected to second condition's list:

"= (equal)" - next condition is true
"≠ (not equal)" - next condition is false
The basic mathematical operations (e.g. greater than) are pretty self-explaining. For the others, providing a short explanation:

has substring" operator. True if the operand is a substring of the symbol value.

"has prefix" operator. True if the symbol value starts with the value of the operand. E.g. "xyz" has prefix "xy".

"has postfix" operator. True if the symbol value ends with the value of the operand. E.g. "xyz" has postfix "yz".

"has mask" operator. Allows the use of wildcards for string comparison. E.g. "*z" matches "xyz"

"regex" operator. True if the symbol matches the regex in the operand. Perl regex syntax is used.

"in" operator. The operand is a list of values. True if the symbol value equals to at least one of the operand values. E.g. "xyz" in ("abc", "def", "xyz").

"in (string mask)" operator. The operand is a list of values which allow wildcards. True if the symbol value matches at least one of the operand values. E.g. "xyz" in ("a*", "*f", "*z").

"has no value" operator. True if the symbol has no value. Second operand is ignored.

"has value" operator. True if the symbol has a value. Second operand is ignored.