Consider the following code:
Code: Select all
//start with 4 or 5 digit alphanumeric string
//verify pattern: letter digit letter digit optional letter
//where first 2 letters are A-H only,
//digits are 0-9
//optional letter is blank or R,K,B,Q only
Let>v_cmd=A4C2L
MidStr>v_cmd,1,5,vcmd
MidStr>vcmd,1,1,vcmd1
MidStr>vcmd,2,1,vcmd2
MidStr>vcmd,3,1,vcmd3
MidStr>vcmd,4,1,vcmd4
MidStr>vcmd,5,1,vcmd5
Let>v_pattern_a=[<ABCDEFGH>]
Let>v_pattern_d=[digit]
Let>v_pattern_5=[<RKBQ>]
RegEx>v_pattern_a,vcmd1,0,vm1,vmcnt1,0
RegEx>v_pattern_d,vcmd2,0,vm2,vmcnt2,0
RegEx>v_pattern_a,vcmd3,0,vm3,vmcnt3,0
RegEx>v_pattern_d,vcmd4,0,vm4,vmcnt4,0
RegEx>v_pattern_5,vcmd5,0,vm5,vmcnt5,0
Let>v_chk1={%vmcnt1%+%vmcnt2%+%vmcnt3%+%vmcnt4%}
If>v_chk1=4
If>vmcnt5=1
//v_cmd is fine
Else
MidStr>v_cmd,1,4,v_cmd
Endif
Else
Let>v_cmd=Nothing Passed
Endif
MessageModal>v_cmd
In addition to that, this should be do-able in one pattern, shouldn't it? Again, I'm stymied.
Any help would be appreciated.