- Timestamp:
- 10/16/08 20:20:52 (3 months ago)
- Files:
-
- 1 modified
-
t/spec/S05-mass/rx.t (modified) (47 diffs)
Legend:
- Unmodified
- Added
- Removed
-
t/spec/S05-mass/rx.t
r22587 r22636 16 16 #### a*:a bazaar /:a/ basic 17 17 #?rakudo skip 'quoting' 18 ok ('bazaar' ~~ /a*: a/) ~~ Match wherematchcheck($_, q/:a/), 'basic';18 ok ('bazaar' ~~ /a*: a/) ~~ Match also matchcheck($_, q/:a/), 'basic'; 19 19 20 20 #### a*: a bazaar n basic … … 99 99 #### (a.)..(..) zzzabcdefzzz /mob: <abcdef @ 3>/ basic $0 100 100 #?rakudo skip 'quoting' 101 ok ('zzzabcdefzzz' ~~ /(a.)..(..)/) ~~ Match wherematchcheck($_, q/mob: <abcdef @ 3>/), 'basic $0';101 ok ('zzzabcdefzzz' ~~ /(a.)..(..)/) ~~ Match also matchcheck($_, q/mob: <abcdef @ 3>/), 'basic $0'; 102 102 103 103 #### (a.)..(..) zzzabcdefzzz /mob 0: <ab @ 3>/ basic $1 104 104 #?rakudo skip 'quoting' 105 ok ('zzzabcdefzzz' ~~ /(a.)..(..)/) ~~ Match wherematchcheck($_, q/mob 0: <ab @ 3>/), 'basic $1';105 ok ('zzzabcdefzzz' ~~ /(a.)..(..)/) ~~ Match also matchcheck($_, q/mob 0: <ab @ 3>/), 'basic $1'; 106 106 107 107 #### (a.)..(..) zzzabcdefzzz /mob 1: <ef @ 7>/ basic $2 108 108 #?rakudo skip 'quoting' 109 ok ('zzzabcdefzzz' ~~ /(a.)..(..)/) ~~ Match wherematchcheck($_, q/mob 1: <ef @ 7>/), 'basic $2';109 ok ('zzzabcdefzzz' ~~ /(a.)..(..)/) ~~ Match also matchcheck($_, q/mob 1: <ef @ 7>/), 'basic $2'; 110 110 111 111 #### (a(b(c))(d)) abcd y nested match … … 114 114 #### (a(b(c))(d)) abcd /mob: <abcd @ 0>/ nested match 115 115 #?rakudo skip 'quoting' 116 ok ('abcd' ~~ /(a(b(c))(d))/) ~~ Match wherematchcheck($_, q/mob: <abcd @ 0>/), 'nested match';116 ok ('abcd' ~~ /(a(b(c))(d))/) ~~ Match also matchcheck($_, q/mob: <abcd @ 0>/), 'nested match'; 117 117 118 118 #### (a(b(c))(d)) abcd /mob 0: <abcd @ 0>/ nested match 119 119 #?rakudo skip 'quoting' 120 ok ('abcd' ~~ /(a(b(c))(d))/) ~~ Match wherematchcheck($_, q/mob 0: <abcd @ 0>/), 'nested match';120 ok ('abcd' ~~ /(a(b(c))(d))/) ~~ Match also matchcheck($_, q/mob 0: <abcd @ 0>/), 'nested match'; 121 121 122 122 #### (a(b(c))(d)) abcd /mob 0 0: <bc @ 1>/ nested match 123 123 #?rakudo skip 'quoting' 124 ok ('abcd' ~~ /(a(b(c))(d))/) ~~ Match wherematchcheck($_, q/mob 0 0: <bc @ 1>/), 'nested match';124 ok ('abcd' ~~ /(a(b(c))(d))/) ~~ Match also matchcheck($_, q/mob 0 0: <bc @ 1>/), 'nested match'; 125 125 126 126 #### (a(b(c))(d)) abcd /mob 0 0 0: <c @ 2>/ nested match 127 127 #?rakudo skip 'quoting' 128 ok ('abcd' ~~ /(a(b(c))(d))/) ~~ Match wherematchcheck($_, q/mob 0 0 0: <c @ 2>/), 'nested match';128 ok ('abcd' ~~ /(a(b(c))(d))/) ~~ Match also matchcheck($_, q/mob 0 0 0: <c @ 2>/), 'nested match'; 129 129 130 130 #### (a(b(c))(d)) abcd /mob 0 1: <d @ 3>/ nested match 131 131 #?rakudo skip 'quoting' 132 ok ('abcd' ~~ /(a(b(c))(d))/) ~~ Match wherematchcheck($_, q/mob 0 1: <d @ 3>/), 'nested match';132 ok ('abcd' ~~ /(a(b(c))(d))/) ~~ Match also matchcheck($_, q/mob 0 1: <d @ 3>/), 'nested match'; 133 133 134 134 #### ((\w+)+) abcd /mob: <abcd @ 0>/ nested match 135 135 #?rakudo skip 'quoting' 136 ok ('abcd' ~~ /((\w+)+)/) ~~ Match wherematchcheck($_, q/mob: <abcd @ 0>/), 'nested match';136 ok ('abcd' ~~ /((\w+)+)/) ~~ Match also matchcheck($_, q/mob: <abcd @ 0>/), 'nested match'; 137 137 138 138 #### ((\w+)+) abcd /mob 0: <abcd @ 0>/ nested match 139 139 #?rakudo skip 'quoting' 140 ok ('abcd' ~~ /((\w+)+)/) ~~ Match wherematchcheck($_, q/mob 0: <abcd @ 0>/), 'nested match';140 ok ('abcd' ~~ /((\w+)+)/) ~~ Match also matchcheck($_, q/mob 0: <abcd @ 0>/), 'nested match'; 141 141 142 142 #### ((\w+)+) abcd /mob 0 0 0: <abcd @ 0>/ nested match 143 143 #?rakudo skip 'quoting' 144 ok ('abcd' ~~ /((\w+)+)/) ~~ Match wherematchcheck($_, q/mob 0 0 0: <abcd @ 0>/), 'nested match';144 ok ('abcd' ~~ /((\w+)+)/) ~~ Match also matchcheck($_, q/mob 0 0 0: <abcd @ 0>/), 'nested match'; 145 145 146 146 #### ((\w+)+) ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz /mob: <ABCD/ nested match 147 147 #?rakudo skip 'quoting' 148 ok ('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz' ~~ /((\w+)+)/) ~~ Match wherematchcheck($_, q/mob: <ABCD/), 'nested match';148 ok ('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz' ~~ /((\w+)+)/) ~~ Match also matchcheck($_, q/mob: <ABCD/), 'nested match'; 149 149 150 150 #### ((\w+)+) ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz /mob 0: <ABCD/ nested match 151 151 #?rakudo skip 'quoting' 152 ok ('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz' ~~ /((\w+)+)/) ~~ Match wherematchcheck($_, q/mob 0: <ABCD/), 'nested match';152 ok ('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz' ~~ /((\w+)+)/) ~~ Match also matchcheck($_, q/mob 0: <ABCD/), 'nested match'; 153 153 154 154 #### ((\w+)+) ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz /mob 0 0 0: <ABCD/ nested match 155 155 #?rakudo skip 'quoting' 156 ok ('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz' ~~ /((\w+)+)/) ~~ Match wherematchcheck($_, q/mob 0 0 0: <ABCD/), 'nested match';156 ok ('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz' ~~ /((\w+)+)/) ~~ Match also matchcheck($_, q/mob 0 0 0: <ABCD/), 'nested match'; 157 157 158 158 #### (a) [ (bc) (d) | .* (ef) ] .* (g) abcdefg /mob 0: <a @ 0>/ alt subpattern before group 159 159 #?rakudo skip 'quoting' 160 ok ('abcdefg' ~~ /(a) [ (bc) (d) | .* (ef) ] .* (g)/) ~~ Match wherematchcheck($_, q/mob 0: <a @ 0>/), 'alt subpattern before group';160 ok ('abcdefg' ~~ /(a) [ (bc) (d) | .* (ef) ] .* (g)/) ~~ Match also matchcheck($_, q/mob 0: <a @ 0>/), 'alt subpattern before group'; 161 161 162 162 #### (a) [ (bc) (d) | .* (ef) ] .* (g) abcdefg /mob 1: <bc @ 1>/ alt subpattern in group 163 163 #?rakudo skip 'quoting' 164 ok ('abcdefg' ~~ /(a) [ (bc) (d) | .* (ef) ] .* (g)/) ~~ Match wherematchcheck($_, q/mob 1: <bc @ 1>/), 'alt subpattern in group';164 ok ('abcdefg' ~~ /(a) [ (bc) (d) | .* (ef) ] .* (g)/) ~~ Match also matchcheck($_, q/mob 1: <bc @ 1>/), 'alt subpattern in group'; 165 165 166 166 #### (a) [ (bc) (d) | .* (ef) ] .* (g) abcdefg /mob 2: <d @ 3>/ alt subpattern in group 167 167 #?rakudo skip 'quoting' 168 ok ('abcdefg' ~~ /(a) [ (bc) (d) | .* (ef) ] .* (g)/) ~~ Match wherematchcheck($_, q/mob 2: <d @ 3>/), 'alt subpattern in group';168 ok ('abcdefg' ~~ /(a) [ (bc) (d) | .* (ef) ] .* (g)/) ~~ Match also matchcheck($_, q/mob 2: <d @ 3>/), 'alt subpattern in group'; 169 169 170 170 #### (a) [ (bc) (d) | .* (ef) ] .* (g) abcdefg /mob 3: <g @ 6>/ alt subpattern after group 171 171 #?rakudo skip 'quoting' 172 ok ('abcdefg' ~~ /(a) [ (bc) (d) | .* (ef) ] .* (g)/) ~~ Match wherematchcheck($_, q/mob 3: <g @ 6>/), 'alt subpattern after group';172 ok ('abcdefg' ~~ /(a) [ (bc) (d) | .* (ef) ] .* (g)/) ~~ Match also matchcheck($_, q/mob 3: <g @ 6>/), 'alt subpattern after group'; 173 173 174 174 #### (a) [ (bc) (x) | .* (ef) ] .* (g) abcdefg /mob 1: <ef @ 4>/ 2nd alt subpattern in group 175 175 #?rakudo skip 'quoting' 176 ok ('abcdefg' ~~ /(a) [ (bc) (x) | .* (ef) ] .* (g)/) ~~ Match wherematchcheck($_, q/mob 1: <ef @ 4>/), '2nd alt subpattern in group';176 ok ('abcdefg' ~~ /(a) [ (bc) (x) | .* (ef) ] .* (g)/) ~~ Match also matchcheck($_, q/mob 1: <ef @ 4>/), '2nd alt subpattern in group'; 177 177 178 178 #### (a) [ (bc) (x) | .* (ef) ] .* (g) abcdefg /mob 3: <g @ 6>/ 2nd alt subpattern after group 179 179 #?rakudo skip 'quoting' 180 ok ('abcdefg' ~~ /(a) [ (bc) (x) | .* (ef) ] .* (g)/) ~~ Match wherematchcheck($_, q/mob 3: <g @ 6>/), '2nd alt subpattern after group';180 ok ('abcdefg' ~~ /(a) [ (bc) (x) | .* (ef) ] .* (g)/) ~~ Match also matchcheck($_, q/mob 3: <g @ 6>/), '2nd alt subpattern after group'; 181 181 182 182 #### ( (.) )* abc /mob 0 1 0: <b @ 1>/ nested repeated captures 183 183 #?rakudo skip 'quoting' 184 ok ('abc' ~~ /( (.) )*/) ~~ Match wherematchcheck($_, q/mob 0 1 0: <b @ 1>/), 'nested repeated captures';184 ok ('abc' ~~ /( (.) )*/) ~~ Match also matchcheck($_, q/mob 0 1 0: <b @ 1>/), 'nested repeated captures'; 185 185 186 186 #### [ (.) ]* abc /mob 0 1: <b @ 1>/ nested repeated captures 187 187 #?rakudo skip 'quoting' 188 ok ('abc' ~~ /[ (.) ]*/) ~~ Match wherematchcheck($_, q/mob 0 1: <b @ 1>/), 'nested repeated captures';188 ok ('abc' ~~ /[ (.) ]*/) ~~ Match also matchcheck($_, q/mob 0 1: <b @ 1>/), 'nested repeated captures'; 189 189 190 190 #### ( [.] )* abc /mob 0 1: <b @ 1>/ nested repeated captures 191 191 #?rakudo skip 'quoting' 192 ok ('abc' ~~ /( [.] )*/) ~~ Match wherematchcheck($_, q/mob 0 1: <b @ 1>/), 'nested repeated captures';192 ok ('abc' ~~ /( [.] )*/) ~~ Match also matchcheck($_, q/mob 0 1: <b @ 1>/), 'nested repeated captures'; 193 193 194 194 #### (.) (.) $7=(.) (.) $4=(.) abcdefg /mob 0: <a @ 0>/ numbered aliases $1 195 195 #?rakudo skip 'quoting' 196 ok ('abcdefg' ~~ /(.) (.) $7=(.) (.) $4=(.)/) ~~ Match wherematchcheck($_, q/mob 0: <a @ 0>/), 'numbered aliases $1';196 ok ('abcdefg' ~~ /(.) (.) $7=(.) (.) $4=(.)/) ~~ Match also matchcheck($_, q/mob 0: <a @ 0>/), 'numbered aliases $1'; 197 197 198 198 #### (.) (.) $7=(.) (.) $4=(.) abcdefg /mob 1: <b @ 1>/ numbered aliases $2 199 199 #?rakudo skip 'quoting' 200 ok ('abcdefg' ~~ /(.) (.) $7=(.) (.) $4=(.)/) ~~ Match wherematchcheck($_, q/mob 1: <b @ 1>/), 'numbered aliases $2';200 ok ('abcdefg' ~~ /(.) (.) $7=(.) (.) $4=(.)/) ~~ Match also matchcheck($_, q/mob 1: <b @ 1>/), 'numbered aliases $2'; 201 201 202 202 #### (.) (.) $7=(.) (.) $4=(.) abcdefg /mob 7: <c @ 2>/ numbered aliases $7 203 203 #?rakudo skip 'quoting' 204 ok ('abcdefg' ~~ /(.) (.) $7=(.) (.) $4=(.)/) ~~ Match wherematchcheck($_, q/mob 7: <c @ 2>/), 'numbered aliases $7';204 ok ('abcdefg' ~~ /(.) (.) $7=(.) (.) $4=(.)/) ~~ Match also matchcheck($_, q/mob 7: <c @ 2>/), 'numbered aliases $7'; 205 205 206 206 #### (.) (.) $7=(.) (.) $4=(.) abcdefg /mob 8: <d @ 3>/ numbered aliases $8 207 207 #?rakudo skip 'quoting' 208 ok ('abcdefg' ~~ /(.) (.) $7=(.) (.) $4=(.)/) ~~ Match wherematchcheck($_, q/mob 8: <d @ 3>/), 'numbered aliases $8';208 ok ('abcdefg' ~~ /(.) (.) $7=(.) (.) $4=(.)/) ~~ Match also matchcheck($_, q/mob 8: <d @ 3>/), 'numbered aliases $8'; 209 209 210 210 #### (.) (.) $7=(.) (.) $4=(.) abcdefg /mob 4: <e @ 4>/ numbered aliases $4 211 211 #?rakudo skip 'quoting' 212 ok ('abcdefg' ~~ /(.) (.) $7=(.) (.) $4=(.)/) ~~ Match wherematchcheck($_, q/mob 4: <e @ 4>/), 'numbered aliases $4';212 ok ('abcdefg' ~~ /(.) (.) $7=(.) (.) $4=(.)/) ~~ Match also matchcheck($_, q/mob 4: <e @ 4>/), 'numbered aliases $4'; 213 213 214 214 #### $1=[ (.) (.) (.) ] (.) abcdefg /mob 1: <abc @ 0>/ perl5 numbered captures $1 215 215 #?rakudo skip 'quoting' 216 ok ('abcdefg' ~~ /$1=[ (.) (.) (.) ] (.)/) ~~ Match wherematchcheck($_, q/mob 1: <abc @ 0>/), 'perl5 numbered captures $1';216 ok ('abcdefg' ~~ /$1=[ (.) (.) (.) ] (.)/) ~~ Match also matchcheck($_, q/mob 1: <abc @ 0>/), 'perl5 numbered captures $1'; 217 217 218 218 #### $1=[ (.) (.) (.) ] (.) abcdefg /mob 2: <a @ 0>/ perl5 numbered captures $1 219 219 #?rakudo skip 'quoting' 220 ok ('abcdefg' ~~ /$1=[ (.) (.) (.) ] (.)/) ~~ Match wherematchcheck($_, q/mob 2: <a @ 0>/), 'perl5 numbered captures $1';220 ok ('abcdefg' ~~ /$1=[ (.) (.) (.) ] (.)/) ~~ Match also matchcheck($_, q/mob 2: <a @ 0>/), 'perl5 numbered captures $1'; 221 221 222 222 #### $1=[ (.) (.) (.) ] (.) abcdefg /mob 3: <b @ 1>/ perl5 numbered captures $1 223 223 #?rakudo skip 'quoting' 224 ok ('abcdefg' ~~ /$1=[ (.) (.) (.) ] (.)/) ~~ Match wherematchcheck($_, q/mob 3: <b @ 1>/), 'perl5 numbered captures $1';224 ok ('abcdefg' ~~ /$1=[ (.) (.) (.) ] (.)/) ~~ Match also matchcheck($_, q/mob 3: <b @ 1>/), 'perl5 numbered captures $1'; 225 225 226 226 #### $1=[ (.) (.) (.) ] (.) abcdefg /mob 4: <c @ 2>/ perl5 numbered captures $1 227 227 #?rakudo skip 'quoting' 228 ok ('abcdefg' ~~ /$1=[ (.) (.) (.) ] (.)/) ~~ Match wherematchcheck($_, q/mob 4: <c @ 2>/), 'perl5 numbered captures $1';228 ok ('abcdefg' ~~ /$1=[ (.) (.) (.) ] (.)/) ~~ Match also matchcheck($_, q/mob 4: <c @ 2>/), 'perl5 numbered captures $1'; 229 229 230 230 #### $1=[ (.) (.) (.) ] (.) abcdefg /mob 5: <d @ 3>/ perl5 numbered captures $1 231 231 #?rakudo skip 'quoting' 232 ok ('abcdefg' ~~ /$1=[ (.) (.) (.) ] (.)/) ~~ Match wherematchcheck($_, q/mob 5: <d @ 3>/), 'perl5 numbered captures $1';232 ok ('abcdefg' ~~ /$1=[ (.) (.) (.) ] (.)/) ~~ Match also matchcheck($_, q/mob 5: <d @ 3>/), 'perl5 numbered captures $1'; 233 233 234 234 #### :s $<key>=[\w+] \= $<val>=[\S+] abc = 123 /mob<key>: <abc @ 1>/ named capture 235 235 #?pugs todo 'feature' 236 236 #?rakudo skip 'quoting' 237 ok (' abc = 123' ~~ /:s $<key>=[\w+] \= $<val>=[\S+]/) ~~ Match wherematchcheck($_, q/mob<key>: <abc @ 1>/), 'named capture';237 ok (' abc = 123' ~~ /:s $<key>=[\w+] \= $<val>=[\S+]/) ~~ Match also matchcheck($_, q/mob<key>: <abc @ 1>/), 'named capture'; 238 238 239 239 #### :s $<key>=[\w+] \= $<val>=[\S+] abc = 123 /mob<val>: <123 @ 7>/ named capture 240 240 #?pugs todo 'feature' 241 241 #?rakudo skip 'quoting' 242 ok (' abc = 123' ~~ /:s $<key>=[\w+] \= $<val>=[\S+]/) ~~ Match wherematchcheck($_, q/mob<val>: <123 @ 7>/), 'named capture';242 ok (' abc = 123' ~~ /:s $<key>=[\w+] \= $<val>=[\S+]/) ~~ Match also matchcheck($_, q/mob<val>: <123 @ 7>/), 'named capture'; 243 243 244 244 #### :s (\w+) $<foo>=(\w+) (\w+) abc def ghi /mob<foo>: <def @ 4>/ mixing named and unnamed capture 245 245 #?pugs todo 'feature' 246 246 #?rakudo skip 'quoting' 247 ok ('abc def ghi' ~~ /:s (\w+) $<foo>=(\w+) (\w+)/) ~~ Match wherematchcheck($_, q/mob<foo>: <def @ 4>/), 'mixing named and unnamed capture';247 ok ('abc def ghi' ~~ /:s (\w+) $<foo>=(\w+) (\w+)/) ~~ Match also matchcheck($_, q/mob<foo>: <def @ 4>/), 'mixing named and unnamed capture'; 248 248 249 249 #### :s (\w+) $<foo>=(\w+) (\w+) abc def ghi /mob 1: <ghi @ 8>/ mixing named and unnamed capture 250 250 #?pugs todo 'feature' 251 251 #?rakudo skip 'quoting' 252 ok ('abc def ghi' ~~ /:s (\w+) $<foo>=(\w+) (\w+)/) ~~ Match wherematchcheck($_, q/mob 1: <ghi @ 8>/), 'mixing named and unnamed capture';252 ok ('abc def ghi' ~~ /:s (\w+) $<foo>=(\w+) (\w+)/) ~~ Match also matchcheck($_, q/mob 1: <ghi @ 8>/), 'mixing named and unnamed capture'; 253 253 254 254 #### <alpha> [ \- <alpha> ]? abc def ghi /mob<alpha> 0: <a @ 0>/ multiple subrule captures in same scope 255 255 #?pugs todo 'feature' 256 256 #?rakudo skip 'quoting' 257 ok ('abc def ghi' ~~ /<alpha> [ \- <alpha> ]?/) ~~ Match wherematchcheck($_, q/mob<alpha> 0: <a @ 0>/), 'multiple subrule captures in same scope';257 ok ('abc def ghi' ~~ /<alpha> [ \- <alpha> ]?/) ~~ Match also matchcheck($_, q/mob<alpha> 0: <a @ 0>/), 'multiple subrule captures in same scope'; 258 258 259 259 #### [(.)$0]+ bookkeeper y backreference … … 268 268 #?pugs todo 'feature' 269 269 #?rakudo skip 'quoting' 270 ok ('bookkeeper' ~~ /[(.)$0]+/) ~~ Match wherematchcheck($_, q/mob 0 0: <o @ 1>/), 'backref $1';270 ok ('bookkeeper' ~~ /[(.)$0]+/) ~~ Match also matchcheck($_, q/mob 0 0: <o @ 1>/), 'backref $1'; 271 271 272 272 #### [(.)$0]+ bookkeeper /mob 0 1: <k @ 3>/ backref $1 273 273 #?pugs todo 'feature' 274 274 #?rakudo skip 'quoting' 275 ok ('bookkeeper' ~~ /[(.)$0]+/) ~~ Match wherematchcheck($_, q/mob 0 1: <k @ 3>/), 'backref $1';275 ok ('bookkeeper' ~~ /[(.)$0]+/) ~~ Match also matchcheck($_, q/mob 0 1: <k @ 3>/), 'backref $1'; 276 276 277 277 #### [(.)$0]+ bookkeeper /mob 0 2: <e @ 5>/ backref $1 278 278 #?pugs todo 'feature' 279 279 #?rakudo skip 'quoting' 280 ok ('bookkeeper' ~~ /[(.)$0]+/) ~~ Match wherematchcheck($_, q/mob 0 2: <e @ 5>/), 'backref $1';280 ok ('bookkeeper' ~~ /[(.)$0]+/) ~~ Match also matchcheck($_, q/mob 0 2: <e @ 5>/), 'backref $1'; 281 281 282 282 #### (.)*x 123x /mob: <123x @ 0>/ repeated dot capture 283 283 #?pugs todo 'feature' 284 284 #?rakudo skip 'quoting' 285 ok ('123x' ~~ /(.)*x/) ~~ Match wherematchcheck($_, q/mob: <123x @ 0>/), 'repeated dot capture';285 ok ('123x' ~~ /(.)*x/) ~~ Match also matchcheck($_, q/mob: <123x @ 0>/), 'repeated dot capture'; 286 286 287 287 288 288 #### $<key>=<alpha> 12ab34 /mob<key>: <a @ 2>/ alias capture 289 289 #?rakudo skip 'quoting' 290 ok ('12ab34' ~~ /$<key>=<alpha>/) ~~ Match wherematchcheck($_, q/mob<key>: <a @ 2>/), 'alias capture';290 ok ('12ab34' ~~ /$<key>=<alpha>/) ~~ Match also matchcheck($_, q/mob<key>: <a @ 2>/), 'alias capture'; 291 291 292 292 #### <key=alpha> 12ab34 /mob<key>: <a @ 2>/ alias capture 293 293 #?rakudo skip 'quoting' 294 ok ('12ab34' ~~ /<key=alpha>/) ~~ Match wherematchcheck($_, q/mob<key>: <a @ 2>/), 'alias capture';294 ok ('12ab34' ~~ /<key=alpha>/) ~~ Match also matchcheck($_, q/mob<key>: <a @ 2>/), 'alias capture'; 295 295 296 296 # L<S05/Extensible metasyntax (C<< <...> >>)/"A leading [ indicates"> … … 364 364 #### <-[d..b]> bbccdd /parse error/ illegal character range 365 365 #?rakudo skip 'quoting' 366 ok ('bbccdd' ~~ /<-[d..b]>/) ~~ Match wherematchcheck($_, q/parse error/), 'illegal character range';366 ok ('bbccdd' ~~ /<-[d..b]>/) ~~ Match also matchcheck($_, q/parse error/), 'illegal character range'; 367 367 368 368 #### <[-]> ab-def /parse error/ unescaped hyphen 369 369 #?rakudo skip 'quoting' 370 ok eval(q{{ 'ab-def' ~~ /<[-]>/ }}) ~~ Failure where/parse error/, 'unescaped hyphen';370 ok eval(q{{ 'ab-def' ~~ /<[-]>/ }}) ~~ Failure also /parse error/, 'unescaped hyphen'; 371 371 372 372 #### <[\-]> ab-def y escaped hyphen … … 420 420 #### <[\]> \\]] /parse error/ unescaped backslash (or no closing brace) 421 421 #?rakudo skip 'quoting' 422 ok eval(q{{ '\\]]' ~~ /<[\]>/ }}) ~~ Failure where/parse error/, 'unescaped backslash (or no closing brace)';422 ok eval(q{{ '\\]]' ~~ /<[\]>/ }}) ~~ Failure also /parse error/, 'unescaped backslash (or no closing brace)'; 423 423 424 424 #### ^\><[<]> >< y lt character class … … 526 526 #### <before .d> a. abacad /mob: <ad @ 4>/ lookahead <before> 527 527 #?rakudo skip 'quoting' 528 ok ('abacad' ~~ /<before .d> a./) ~~ Match wherematchcheck($_, q/mob: <ad @ 4>/), 'lookahead <before>';528 ok ('abacad' ~~ /<before .d> a./) ~~ Match also matchcheck($_, q/mob: <ad @ 4>/), 'lookahead <before>'; 529 529 530 530 #### <before c> .... abacad n lookahead <before> … … 536 536 #### <!before ..b> aa aabaaa /mob: <aa @ 3>/ negated lookahead 537 537 #?rakudo skip 'quoting' 538 ok ('aabaaa' ~~ /<!before ..b> aa/) ~~ Match wherematchcheck($_, q/mob: <aa @ 3>/), 'negated lookahead';538 ok ('aabaaa' ~~ /<!before ..b> aa/) ~~ Match also matchcheck($_, q/mob: <aa @ 3>/), 'negated lookahead'; 539 539 540 540 #### <after a>b ab y lookbehind <after> … … 603 603 #### ^ <null> \t\n\r !"#$%&\'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij /mob<null>: < @ 0>/ null pattern (<null>) 604 604 #?rakudo skip 'quoting' 605 ok eval(q{{ '\t\n\r !"#$%&\'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij' ~~ /^ <null>/ }}) ~~ Failure where/mob<null>: < @ 0>/, 'null pattern (<null>)';605 ok eval(q{{ '\t\n\r !"#$%&\'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij' ~~ /^ <null>/ }}) ~~ Failure also /mob<null>: < @ 0>/, 'null pattern (<null>)'; 606 606 607 607 #### <null> $ \t\n\r !"#$%&\'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij /mob<null>: < @ 65>/ null pattern (<null>) 608 608 #?rakudo skip 'quoting' 609 ok eval(q{{ '\t\n\r !"#$%&\'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij' ~~ /<null> $/ }}) ~~ Failure where/mob<null>: < @ 65>/, 'null pattern (<null>)';609 ok eval(q{{ '\t\n\r !"#$%&\'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij' ~~ /<null> $/ }}) ~~ Failure also /mob<null>: < @ 65>/, 'null pattern (<null>)'; 610 610 611 611 #### abc <null> def \t\n\r !"#$%&\'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij y null pattern (<null>) … … 621 621 #### a[b} \t\n\r !"#$%&\'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij /rule error/ mismatched close 622 622 #?rakudo skip 'quoting' 623 ok eval(q{{ '\t\n\r !"#$%&\'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij' ~~ /a[b}/ }}) ~~ Failure where/rule error/, 'mismatched close';623 ok eval(q{{ '\t\n\r !"#$%&\'()*+,-./:;<=>?@[\]^`_{|}0123456789ABCDEFGHIJabcdefghij' ~~ /a[b}/ }}) ~~ Failure also /rule error/, 'mismatched close'; 624 624 625 625 626 626 #### c <before .d> abacad /mob: <c @ 3>/ one character and lookahead <before> 627 627 #?rakudo skip 'quoting' 628 ok ('abacad' ~~ /c <before .d>/) ~~ Match wherematchcheck($_, q/mob: <c @ 3>/), 'one character and lookahead <before>';628 ok ('abacad' ~~ /c <before .d>/) ~~ Match also matchcheck($_, q/mob: <c @ 3>/), 'one character and lookahead <before>'; 629 629 630 630 #### .* <before .d> abacad /mob: <abac @ 0>/ multiple characters and lookahead <before> 631 631 #?rakudo skip 'quoting' 632 ok ('abacad' ~~ /.* <before .d>/) ~~ Match wherematchcheck($_, q/mob: <abac @ 0>/), 'multiple characters and lookahead <before>';632 ok ('abacad' ~~ /.* <before .d>/) ~~ Match also matchcheck($_, q/mob: <abac @ 0>/), 'multiple characters and lookahead <before>'; 633 633 634 634 #### .* <before .\<> abaca<d /mob: <abac @ 0>/ multiple characters and lookahead <before> with a \'<\' 635 635 #?rakudo skip 'quoting' 636 ok ('abaca<d' ~~ /.* <before .\<>/) ~~ Match wherematchcheck($_, q/mob: <abac @ 0>/), 'multiple characters and lookahead <before> with a \'<\'';636 ok ('abaca<d' ~~ /.* <before .\<>/) ~~ Match also matchcheck($_, q/mob: <abac @ 0>/), 'multiple characters and lookahead <before> with a \'<\''; 637 637 638 638 #### .* <before \<> aba<ca<d /mob: <aba<ca @ 0>/ greedy any character and lookahead <before> with a \'<\' 639 639 #?rakudo skip 'quoting' 640 ok ('aba<ca<d' ~~ /.* <before \<>/) ~~ Match wherematchcheck($_, q/mob: <aba<ca @ 0>/), 'greedy any character and lookahead <before> with a \'<\'';640 ok ('aba<ca<d' ~~ /.* <before \<>/) ~~ Match also matchcheck($_, q/mob: <aba<ca @ 0>/), 'greedy any character and lookahead <before> with a \'<\''; 641 641 642 642 #### .*? <before \<> aba<ca<d /mob: <aba @ 0>/ non-greedy any character and lookahead <before> with a \'<\' 643 643 #?rakudo skip 'quoting' 644 ok ('aba<ca<d' ~~ /.*? <before \<>/) ~~ Match wherematchcheck($_, q/mob: <aba @ 0>/), 'non-greedy any character and lookahead <before> with a \'<\'';644 ok ('aba<ca<d' ~~ /.*? <before \<>/) ~~ Match also matchcheck($_, q/mob: <aba @ 0>/), 'non-greedy any character and lookahead <before> with a \'<\''; 645 645 646 646 … … 789 789 #### \Aabc Aabc /reserved/ retired metachars (\A) 790 790 #?rakudo skip 'quoting' 791 ok eval(q{{ 'Aabc' ~~ /\Aabc/ }}) ~~ Failure where/reserved/, 'retired metachars (\A)';791 ok eval(q{{ 'Aabc' ~~ /\Aabc/ }}) ~~ Failure also /reserved/, 'retired metachars (\A)'; 792 792 793 793 #### \Aabc abc\ndef /reserved/ retired metachars (\A) 794 794 #?rakudo skip 'quoting' 795 ok eval(q{{ 'abc\ndef' ~~ /\Aabc/ }}) ~~ Failure where/reserved/, 'retired metachars (\A)';795 ok eval(q{{ 'abc\ndef' ~~ /\Aabc/ }}) ~~ Failure also /reserved/, 'retired metachars (\A)'; 796 796 797 797 #### abc\Z abcZ /reserved/ retired metachars (\Z) 798 798 #?rakudo skip 'quoting' 799 ok eval(q{{ 'abcZ' ~~ /abc\Z/ }}) ~~ Failure where/reserved/, 'retired metachars (\Z)';799 ok eval(q{{ 'abcZ' ~~ /abc\Z/ }}) ~~ Failure also /reserved/, 'retired metachars (\Z)'; 800 800 801 801 #### abc\Z abc\ndef /reserved/ retired metachars (\Z) 802 802 #?rakudo skip 'quoting' 803 ok eval(q{{ 'abc\ndef' ~~ /abc\Z/ }}) ~~ Failure where/reserved/, 'retired metachars (\Z)';803 ok eval(q{{ 'abc\ndef' ~~ /abc\Z/ }}) ~~ Failure also /reserved/, 'retired metachars (\Z)'; 804 804 805 805 #### abc\z abcz /reserved/ retired metachars (\z) 806 806 #?rakudo skip 'quoting' 807 ok eval(q{{ 'abcz' ~~ /abc\z/ }}) ~~ Failure where/reserved/, 'retired metachars (\z)';807 ok eval(q{{ 'abcz' ~~ /abc\z/ }}) ~~ Failure also /reserved/, 'retired metachars (\z)'; 808 808 809 809 #### def\z abc\ndef /reserved/ retired metachars (\z) 810 810 #?rakudo skip 'quoting' 811 ok eval(q{{ 'abc\ndef' ~~ /def\z/ }}) ~~ Failure where/reserved/, 'retired metachars (\z)';811 ok eval(q{{ 'abc\ndef' ~~ /def\z/ }}) ~~ Failure also /reserved/, 'retired metachars (\z)'; 812 812 813 813 #### abc # def abc#def y comments (#) … … 889 889 #### b| bcd /rule error/ alternation (|) - null right arg illegal 890 890 #?rakudo skip 'quoting' 891 ok eval(q{{ 'bcd' ~~ /b|/ }}) ~~ Failure where/rule error/, 'alternation (|) - null right arg illegal';891 ok eval(q{{ 'bcd' ~~ /b|/ }}) ~~ Failure also /rule error/, 'alternation (|) - null right arg illegal'; 892 892 893 893 #### |b bcd y alternation (|) - null left arg ignored … … 896 896 #### | bcd /rule error/ alternation (|) - null both args illegal 897 897 #?rakudo skip 'quoting' 898 ok eval(q{{ 'bcd' ~~ /|/ }}) ~~ Failure where/rule error/, 'alternation (|) - null both args illegal';898 ok eval(q{{ 'bcd' ~~ /|/ }}) ~~ Failure also /rule error/, 'alternation (|) - null both args illegal'; 899 899 900 900 #### \| | y alternation (|) - literal must be escaped … … 903 903 #### | | /rule error/ alternation (|) - literal must be escaped 904 904 #?rakudo skip 'quoting' 905 ok eval(q{{ '|' ~~ /|/ }}) ~~ Failure where/rule error/, 'alternation (|) - literal must be escaped';905 ok eval(q{{ '|' ~~ /|/ }}) ~~ Failure also /rule error/, 'alternation (|) - literal must be escaped'; 906 906 907 907 #### <[a..d]> & <[b..e]> c y conjunction (&) … … 936 936 #### b& bcd /rule error/ conjunction (&) - null right arg illegal 937 937 #?rakudo skip 'quoting' 938 ok eval(q{{ 'bcd' ~~ /b&/ }}) ~~ Failure where/rule error/, 'conjunction (&) - null right arg illegal';938 ok eval(q{{ 'bcd' ~~ /b&/ }}) ~~ Failure also /rule error/, 'conjunction (&) - null right arg illegal'; 939 939 940 940 #### &b bcd /rule error/ conjunction (&) - null left arg illegal 941 941 #?rakudo skip 'quoting' 942 ok eval(q{{ 'bcd' ~~ /&b/ }}) ~~ Failure where/rule error/, 'conjunction (&) - null left arg illegal';942 ok eval(q{{ 'bcd' ~~ /&b/ }}) ~~ Failure also /rule error/, 'conjunction (&) - null left arg illegal'; 943 943 944 944 #### & bcd /rule error/ conjunction (&) - null both args illegal 945 945 #?rakudo skip 'quoting' 946 ok eval(q{{ 'bcd' ~~ /&/ }}) ~~ Failure where/rule error/, 'conjunction (&) - null both args illegal';946 ok eval(q{{ 'bcd' ~~ /&/ }}) ~~ Failure also /rule error/, 'conjunction (&) - null both args illegal'; 947 947 948 948 #### \& & y conjunction (&) - literal must be escaped … … 951 951 #### & & /rule error/ conjunction (&) - literal must be escaped 952 952 #?rakudo skip 'quoting' 953 ok eval(q{{ '&' ~~ /&/ }}) ~~ Failure where/rule error/, 'conjunction (&) - literal must be escaped';953 ok eval(q{{ '&' ~~ /&/ }}) ~~ Failure also /rule error/, 'conjunction (&) - literal must be escaped'; 954 954 955 955 # todo :pge<leading |> 956 956 #### a&|b a&|b /rule error/ alternation and conjunction (&|) - parse error 957 957 #?rakudo skip 'quoting' 958 ok eval(q{{ 'a&|b' ~~ /a&|b/ }}) ~~ Failure where/rule error/, 'alternation and conjunction (&|) - parse error';958 ok eval(q{{ 'a&|b' ~~ /a&|b/ }}) ~~ Failure also /rule error/, 'alternation and conjunction (&|) - parse error'; 959 959 960 960 #### a|&b a|&b /rule error/ alternation and conjunction (|&) - parse error 961 961 #?rakudo skip 'quoting' 962 ok eval(q{{ 'a|&b' ~~ /a|&b/ }}) ~~ Failure where/rule error/, 'alternation and conjunction (|&) - parse error';962 ok eval(q{{ 'a|&b' ~~ /a|&b/ }}) ~~ Failure also /rule error/, 'alternation and conjunction (|&) - parse error'; 963 963 964 964 #### |d|b abc y leading alternation ignored … … 977 977 #?pugs todo 'feature' 978 978 #?rakudo skip 'quoting' 979 ok eval(q{{ 'abc' !~~ / b | | d/ }}) ~~ Failure where/reserved/, 'null pattern invalid';979 ok eval(q{{ 'abc' !~~ / b | | d/ }}) ~~ Failure also /reserved/, 'null pattern invalid'; 980 980 981 981 #### \pabc pabc /reserved/ retired metachars (\p) 982 982 #?rakudo skip 'quoting' 983 ok eval(q{{ 'pabc' ~~ /\pabc/ }}) ~~ Failure where/reserved/, 'retired metachars (\p)';983 ok eval(q{{ 'pabc' ~~ /\pabc/ }}) ~~ Failure also /reserved/, 'retired metachars (\p)'; 984 984 985 985 #### \p{InConsonant} a /reserved/ retired metachars (\p) 986 986 #?rakudo skip 'quoting' 987 ok eval(q{{ 'a' ~~ /\p{InConsonant}/ }}) ~~ Failure where/reserved/, 'retired metachars (\p)';987 ok eval(q{{ 'a' ~~ /\p{InConsonant}/ }}) ~~ Failure also /reserved/, 'retired metachars (\p)'; 988 988 989 989 #### \Pabc Pabc /reserved/ retired metachars (\P) 990 990 #?rakudo skip 'quoting' 991 ok eval(q{{ 'Pabc' ~~ /\Pabc/ }}) ~~ Failure where/reserved/, 'retired metachars (\P)';991 ok eval(q{{ 'Pabc' ~~ /\Pabc/ }}) ~~ Failure also /reserved/, 'retired metachars (\P)'; 992 992 993 993 #### \P{InConsonant} a /reserved/ retired metachars (\P) 994 994 #?rakudo skip 'quoting' 995 ok eval(q{{ 'a' ~~ /\P{InConsonant}/ }}) ~~ Failure where/reserved/, 'retired metachars (\P)';995 ok eval(q{{ 'a' ~~ /\P{InConsonant}/ }}) ~~ Failure also /reserved/, 'retired metachars (\P)'; 996 996 997 997 #### \Labc\E LabcE /reserved/ retired metachars (\L...\E) 998 998 #?rakudo skip 'quoting' 999 ok eval(q{{ 'LabcE' ~~ /\Labc\E/ }}) ~~ Failure where/reserved/, 'retired metachars (\L...\E)';999 ok eval(q{{ 'LabcE' ~~ /\Labc\E/ }}) ~~ Failure also /reserved/, 'retired metachars (\L...\E)'; 1000 1000 1001 1001 #### \LABC\E abc /reserved/ retired metachars (\L...\E) 1002 1002 #?rakudo skip 'quoting' 1003 ok eval(q{{ 'abc' ~~ /\LABC\E/ }}) ~~ Failure where/reserved/, 'retired metachars (\L...\E)';1003 ok eval(q{{ 'abc' ~~ /\LABC\E/ }}) ~~ Failure also /reserved/, 'retired metachars (\L...\E)'; 1004 1004 1005 1005 #### \Uabc\E UabcE /reserved/ retired metachars (\U...\E) 1006 1006 #?rakudo skip 'quoting' 1007 ok eval(q{{ 'UabcE' ~~ /\Uabc\E/ }}) ~~ Failure where/reserved/, 'retired metachars (\U...\E)';1007 ok eval(q{{ 'UabcE' ~~ /\Uabc\E/ }}) ~~ Failure also /reserved/, 'retired metachars (\U...\E)'; 1008 1008 1009 1009 #### \Uabc\E ABC /reserved/ retired metachars (\U...\E) 1010 1010 #?rakudo skip 'quoting' 1011 ok eval(q{{ 'ABC' ~~ /\Uabc\E/ }}) ~~ Failure where/reserved/, 'retired metachars (\U...\E)';1011 ok eval(q{{ 'ABC' ~~ /\Uabc\E/ }}) ~~ Failure also /reserved/, 'retired metachars (\U...\E)'; 1012 1012 1013 1013 #### \Qabc\E QabcE /reserved/ retired metachars (\Q...\E) 1014 1014 #?rakudo skip 'quoting' 1015 ok eval(q{{ 'QabcE' ~~ /\Qabc\E/ }}) ~~ Failure where/reserved/, 'retired metachars (\Q...\E)';1015 ok eval(q{{ 'QabcE' ~~ /\Qabc\E/ }}) ~~ Failure also /reserved/, 'retired metachars (\Q...\E)'; 1016 1016 1017 1017 #### \Qabc d?\E abc d /reserved/ retired metachars (\Q...\E) 1018 1018 #?rakudo skip 'quoting' 1019 ok eval(q{{ 'abc d' ~~ /\Qabc d?\E/ }}) ~~ Failure where/reserved/, 'retired metachars (\Q...\E)';1019 ok eval(q{{ 'abc d' ~~ /\Qabc d?\E/ }}) ~~ Failure also /reserved/, 'retired metachars (\Q...\E)'; 1020 1020 1021 1021 #### \Gabc Gabc /reserved/ retired metachars (\G) 1022 1022 #?rakudo skip 'quoting' 1023 ok eval(q{{ 'Gabc' ~~ /\Gabc/ }}) ~~ Failure where/reserved/, 'retired metachars (\G)';1023 ok eval(q{{ 'Gabc' ~~ /\Gabc/ }}) ~~ Failure also /reserved/, 'retired metachars (\G)'; 1024 1024 1025 1025 #### \1abc 1abc /reserved/ retired metachars (\1) 1026 1026 #?rakudo skip 'quoting' 1027 ok eval(q{{ '1abc' ~~ /\1abc/ }}) ~~ Failure where/reserved/, 'retired metachars (\1)';1027 ok eval(q{{ '1abc' ~~ /\1abc/ }}) ~~ Failure also /reserved/, 'retired metachars (\1)'; 1028 1028 1029 1029 #### ^ \s+ $ \x0009\x0020\x00a0\x000a\x000b\x000c\x000d\x0085 y 0-255 whitespace (\s) … … 1661 1661 #### :s::(\w+) ':=' (\S+) dog := spot /mob 0: <dog @ 0>/ sigspace and capture together 1662 1662 #?rakudo skip 'quoting' 1663 ok ('dog := spot' ~~ /:s::(\w+) ':=' (\S+)/) ~~ Match wherematchcheck($_, q/mob 0: <dog @ 0>/), 'sigspace and capture together';1663 ok ('dog := spot' ~~ /:s::(\w+) ':=' (\S+)/) ~~ Match also matchcheck($_, q/mob 0: <dog @ 0>/), 'sigspace and capture together'; 1664 1664 1665 1665 #### :s::(\w+) ':=' (\S+) dog := spot /mob 1: <spot @ 7>/ sigspace and capture together 1666 1666 #?rakudo skip 'quoting' 1667 ok ('dog := spot' ~~ /:s::(\w+) ':=' (\S+)/) ~~ Match wherematchcheck($_, q/mob 1: <spot @ 7>/), 'sigspace and capture together';1667 ok ('dog := spot' ~~ /:s::(\w+) ':=' (\S+)/) ~~ Match also matchcheck($_, q/mob 1: <spot @ 7>/), 'sigspace and capture together'; 1668 1668 1669 1669 #### :perl5 \A.*? bcd\Q$\E..\z a bcd$ef y perl5 syntax (:perl5)
