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

+   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