Hand filter usage

General :

- allowed chars : 0123456789.qwertyuiopasdfghjklzxcvbnm<>!:,+-@$%()[]*^
- other found in text are removed
- syntax is not case sensitive

Undefined ranks (rong) and suits (xyzw)

x y z w allow to match suits depends on combination
zzyy match hand with 2 suits pairs (ex: As9c7s5c)
zzz force 3 same suits but allow 4, if 4th char is not defined (Ac9c8c7c and Ac9c8c7d will be matched as zzzz and zzzx)

r o n g chars allow to match ranks combinations
rroo matches two pairs
rong give 4 different rank on hand
rr at least one pair on ranks

$R broadway card [A-T]
$B big card [A-J]
$M middle card [T-7]
$Z small card [6-2]
$N no-low card [K-9]
$F face card [K-J]
$W wheel card [A,2,3,4,5]

Operators and syntax : , ! + ( ) [ ] + < > ^

, OR, join different selections
@SET,@STRAIGHT give hands matching set or straight

: AND, use to merge active groups
@SET:XYZW give hands matching set where all ranks are different
RROO:xxyy two pairs hand with two suits only

! NOT, returns opposite hands
!A all hands without Ace
!@SET no set matching hands

^ multiply brace
[2-6]^3 same as [2-6][2-6][2-6]

+ matched and higher than - apply on cards on preflop and combinations on postflop
@SET+ returns hands matching Set, Straight, Full house, Quad, Poker
Q+ returns hands with Q K or A
678+ selected cards and higher groups 789,89T,9TJ,TJQ...
9Q+ selected cards and TK,JA

() braces to group matchers
!(AA,AK,AQ,AJ):(@TOPPAIR,@OVERPAIR) no selected cards groups in selected combinations

[] braces to set groups or range of ranks, require at least 2 ranks or ranks from to separated by -
[8-T]
card from group 8 9 T
[456] ranks 4 5 6
[KQJ][78][78][234] more complex example defining range of each card [KQJ]x[89]x[789]y[45]y even more complex mixed with ranks

< > used with 2 ranks : matched and higher or lower combinations
27< for 47T board, filters hands of 2nd pair , adds first pair, overpairs, sets.

Hand value filters

Allows to filter values of ev , evdiff , evdiff% , range , count with selecting target action index
evdiff - positive value is EV range to second best EV, negative is substraction of node EV and top EV
range - indicate current hand range
count - indicate strategy ratio of hand

Syntax allow selecting target action by putting index number after type or action type (C check or call, F fold , B bets and raises) :
ev1>2 - will filter from EVs first action
evdiff2<5 - filter evdiffs less than 5 from node two
evC>0:evB>2 - Check/Call not negative and Bets/Raises/Allins not less than 2

Examples :
ev>2 - returns hands where any of actions has EV higher or equal 2
range>0.5:ev>10 - hands with range at least half and ev not less than 10

Postflop combinations

All combinations are prepended with @ mark.
Draws are not excluded by combinations.
Combinations can use index number to indicate stronger or weaker match.
Can use + mark after to add all higher combinations.

@STRAIGHTFLUSH , @FULL , @QUAD , @FLUSH , @STRAIGHT , @SET , @TWOPAIR , @OVERPAIR , @TOPPAIR , @PAIR , @OTHER

Draws :
@SD straight draw
@OESD open ended straght draws
@WRAP wrap straight draw
@GUT gut straigh draw
@FD flash draw
@BDFD back door flash draw

@NAKED no draws
@DRAWS all draws

Examples :
@SET2:!J+ - on JT7 board returns hands with TT and no higher cards than J
@TWOPAIR3:!rr - on 864 board 3rd pairing option including 6 and 4, excluding hands with pair
@TWOPAIR1+ - matching top two pairs, sets, straights and higher combinations

Additional matchers :
@ONEPAIR$ - pairing hands depends on strength $index, where 1 is AA and 12 is 22