Wiki
Filter syntax
Range view allows you to filter the displayed hands using a powerful but easy-to-learn syntax. All the hands are shown by default, however you can filter them by to a wide variety of critera by entering a filter expression into the text box at the bottom of the window.Basics: ranks and suits
Characters “AKQJT98765432” represent ranks and “wxyz” represent suit variables. The rank and the suit of a card should be consecutive, but their order is arbitrary. A simple expression consists of a single range, which represents a set of hands. For example, “AxKxQyJy” is a valid range, therefore it is a valid expression.
Wildcards
Unspecified cards or properties (an omitted rank or suit per card) are considered as wildcards. There is no way or need to mark them explicitly. For example, range “AA” should return all hands with an ace pair, and range "Axx" all the hands with a suited ace. There is a single exception: the range "*" means all hands.
Rank variables
All non-reserved characters are considered as rank variables. “SDFGH” seem reasonable choices as they are next to each other on the keyboard. Ex. range “SS” means a pair, range “SxSyDxDy” means a double-suited hand with two pairs
Operators
Construction of more complex expressions is possible using multiple ranges and set operators. 1 ! - set difference / NOT (left-associative) 2 : - set intersection / AND (left-associative, commutative) 3 , - set union / OR (left-associative, commutative) 4 () - parentheses (ex. “(aa, kk) : !rrr"). The order of evaluation is: () > ! > : > , It is important to remember, that variables have a range scope. They can be bound to different ranks and suits across different ranges, because ranges are evaluated independently. Ex. if you want to describe a single-suited hand with no suited ace, write “xx !Axx” instead of “xx !Ax”, because the latter range has no idea what you have meant in the first.
Ascending & descending ranges
Ascending ranges are indicated with a trailing “+”.
Example: “9876+” is equivalent with “(9876, T987, JT98, QJT9, KQJT, AKQJ)”.
Descending ranges are indicated with a trailing “-”.
Example: “9865-” is equivalent with “(9865, 8754, 7643, 6532)”.
Macros
Macros are shorthands for common expressions. They are indicated with a leading "$" and can be used within complex expressions as well.
| Macro | Description | 4 card equivalent | 5 card equivalent |
|---|---|---|---|
| $ds | double-suited | (xxyy) | (xxyy) |
| $dsp | double-suited-perfect | (xxyy) | (xxyyz) |
| $ss | single-suited | (xx!xxyy) | (xx!xxyy) |
| $rb | rainbow | (!xx) | (!xx) |
| $bp | broadwayv-pair | (aa,kk,qq,jj,tt) | (aa,kk,qq,jj,tt) |
Miscellaneous rules
Spaces are ignored. Evaluation is case insensitive, so ranges “AxKxQyJy” and “axkxqyjy” are semantically identical.