⍝ Wildcard matching: showmatch←{,[⍳⍴⍴⍵]⍵,[¯0.5+⍴⍴⍵](' ¯'[⎕io+⍺ match ⍵])} '<<*>>' showmatch '<<>> <<aa>>' <<>> <<aa>> ¯ ¯ '<<*>>' showmatch 2 2 24⍴'<<aa>> <<>> <<bbb>> ' <<aa>> <<>> <<bbb>> << ¯ ¯ ¯ aa>> <<>> <<bbb>> <<aa ¯ ¯ >> <<>> <<bbb>> <<aa>> ¯ ¯ ¯ <<>> <<bbb>> <<aa>> ¯ ¯ ¯ 'a*b*d' showmatch 'aaaabbbccd' ⍝ overlapping patterns aaaabbbccd ¯¯¯¯ 'a*a' showmatch 'abracadabra' ⍝ repeated patterns abracadabra ¯ ¯ ¯ ¯ '12*56*9' showmatch ⎕D ⍝ multiple wildcards 0123456789 ¯ (2⍴¨¨ '12*56*9' '*') showmatch 2⍴¨⎕D ⍝ nested arguments. ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐ │00│11│22│33│44│55│66│77│88│99│ ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤ │ │¯ │ │ │ │ │ │ │ │ │ └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘ 'ban*and' match 'band' ⍝ overlapping subject 0 0 0 0 ⍝∇ match Back to: code Back to: Workspaces