/[pcre]/code/trunk/testdata/testoutput2
ViewVC logotype

Diff of /code/trunk/testdata/testoutput2

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 47 by nigel, Sat Feb 24 21:39:29 2007 UTC revision 71 by nigel, Sat Feb 24 21:40:24 2007 UTC
# Line 1  Line 1 
1  PCRE version 3.2 12-May-2000  PCRE version 4.4 21-August-2003
2    
3  /(a)b|/  /(a)b|/
4  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 28  No match Line 28  No match
28  Capturing subpattern count = 0  Capturing subpattern count = 0
29  Options: anchored  Options: anchored
30  No first char  No first char
31  Need char = 'c'  No need char
32      abc      abc
33   0: abc   0: abc
34      \Aabc      \Aabc
# Line 68  No need char Line 68  No need char
68  Capturing subpattern count = 0  Capturing subpattern count = 0
69  Options: anchored  Options: anchored
70  No first char  No first char
71  Need char = 'c'  No need char
72      abc      abc
73   0: abc   0: abc
74      *** Failers      *** Failers
# Line 91  Failed: number too big in {} quantifier Line 91  Failed: number too big in {} quantifier
91  /[abcd/  /[abcd/
92  Failed: missing terminating ] for character class at offset 5  Failed: missing terminating ] for character class at offset 5
93    
94  /[\B]/  /(?X)[\B]/
95  Failed: invalid escape sequence in character class at offset 2  Failed: invalid escape sequence in character class at offset 6
   
 /[a-\w]/  
 Failed: invalid escape sequence in character class at offset 4  
96    
97  /[z-a]/  /[z-a]/
98  Failed: range out of order in character class at offset 3  Failed: range out of order in character class at offset 3
# Line 188  Capturing subpattern count = 1 Line 185  Capturing subpattern count = 1
185  No options  No options
186  No first char  No first char
187  No need char  No need char
188  Starting character set: \x09 \x0a \x0b \x0c \x0d \x20 a b  Starting character set: \x09 \x0a \x0c \x0d \x20 a b
189    
190  /(ab\2)/  /(ab\2)/
191  Failed: back reference to non-existent subpattern at offset 6  Failed: reference to non-existent subpattern at offset 6
192    
193  /{4,5}abc/  /{4,5}abc/
194  Failed: nothing to repeat at offset 4  Failed: nothing to repeat at offset 4
# Line 284  No match Line 281  No match
281  No match  No match
282    
283  /(a)(b)(c)(d)(e)\6/  /(a)(b)(c)(d)(e)\6/
284  Failed: back reference to non-existent subpattern at offset 17  Failed: reference to non-existent subpattern at offset 17
285    
286  /the quick brown fox/  /the quick brown fox/
287  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 300  Need char = 'x' Line 297  Need char = 'x'
297  Capturing subpattern count = 0  Capturing subpattern count = 0
298  Options: anchored  Options: anchored
299  No first char  No first char
300  Need char = 'x'  No need char
301      the quick brown fox      the quick brown fox
302   0: the quick brown fox   0: the quick brown fox
303      *** Failers      *** Failers
# Line 429  Need char = '>' Line 426  Need char = '>'
426      abc<def>ghi<klm>nop      abc<def>ghi<klm>nop
427   0: <def>   0: <def>
428    
429  /<.*>(?U)/  /(?U)<.*>/
430  Capturing subpattern count = 0  Capturing subpattern count = 0
431  Options: ungreedy  Options: ungreedy
432  First char = '<'  First char = '<'
# Line 489  Failed: lookbehind assertion is not fixe Line 486  Failed: lookbehind assertion is not fixe
486  /(?i)abc/  /(?i)abc/
487  Capturing subpattern count = 0  Capturing subpattern count = 0
488  Options: caseless  Options: caseless
489  First char = 'a'  First char = 'a' (caseless)
490  Need char = 'c'  Need char = 'c' (caseless)
491    
492  /(a|(?m)a)/  /(a|(?m)a)/
493  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 502  No need char Line 499  No need char
499  Capturing subpattern count = 0  Capturing subpattern count = 0
500  Options: anchored caseless  Options: anchored caseless
501  No first char  No first char
502  Need char = '4'  No need char
503    
504  /(^b|(?i)^d)/  /(^b|(?i)^d)/
505  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 566  Failed: assertion expected after (?( at Line 563  Failed: assertion expected after (?( at
563  Failed: assertion expected after (?( at offset 3  Failed: assertion expected after (?( at offset 3
564    
565  /(?(?<ab))/  /(?(?<ab))/
566  Failed: unrecognized character after (?< at offset 2  Failed: unrecognized character after (?< at offset 5
567    
568  /((?s)blah)\s+\1/  /((?s)blah)\s+\1/
569  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 580  Capturing subpattern count = 1 Line 577  Capturing subpattern count = 1
577  Max back reference = 1  Max back reference = 1
578  No options  No options
579  Case state changes  Case state changes
580  No first char  First char = 'b' (caseless)
581  Need char = 'h'  Need char = 'h' (caseless)
582    
583  /((?i)b)/DS  /((?i)b)/DS
584  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 597  Need char = 'h' Line 594  Need char = 'h'
594  Capturing subpattern count = 1  Capturing subpattern count = 1
595  No options  No options
596  Case state changes  Case state changes
597  No first char  First char = 'b' (caseless)
598  Need char = 'b'  No need char
599  Starting character set: B b  Study returned NULL
600    
601  /(a*b|(?i:c*(?-i)d))/S  /(a*b|(?i:c*(?-i)d))/S
602  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 645  No match Line 642  No match
642  Capturing subpattern count = 0  Capturing subpattern count = 0
643  Options: anchored multiline  Options: anchored multiline
644  No first char  No first char
645  Need char = 'c'  No need char
646    
647  /^abc/m  /^abc/m
648  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 657  Need char = 'c' Line 654  Need char = 'c'
654  Capturing subpattern count = 5  Capturing subpattern count = 5
655  Options: anchored  Options: anchored
656  No first char  No first char
657  Need char = 'a'  No need char
658    aaaaabbbbbcccccdef    aaaaabbbbbcccccdef
659   0: aaaaabbbbbcccccdef   0: aaaaabbbbbcccccdef
660   1: aaaaabbbbbcccccdef   1: aaaaabbbbbcccccdef
# Line 828  Capturing subpattern count = 1 Line 825  Capturing subpattern count = 1
825  Max back reference = 1  Max back reference = 1
826  Options: anchored  Options: anchored
827  No first char  No first char
828  Need char = 'a'  No need char
829      aaaaaa      aaaaaa
830   0: aaaaaa   0: aaaaaa
831   1: aa   1: aa
# Line 867  Failed: nothing to repeat at offset 2 Line 864  Failed: nothing to repeat at offset 2
864  Failed: unmatched parentheses at offset 0  Failed: unmatched parentheses at offset 0
865    
866  /\1/  /\1/
867  Failed: back reference to non-existent subpattern at offset 2  Failed: reference to non-existent subpattern at offset 2
868    
869  /\2/  /\2/
870  Failed: back reference to non-existent subpattern at offset 2  Failed: reference to non-existent subpattern at offset 2
871    
872  /(a)|\2/  /(a)|\2/
873  Failed: back reference to non-existent subpattern at offset 6  Failed: reference to non-existent subpattern at offset 6
874    
875  /a[b-a]/i  /a[b-a]/i
876  Failed: range out of order in character class at offset 4  Failed: range out of order in character class at offset 4
# Line 906  Failed: unmatched parentheses at offset Line 903  Failed: unmatched parentheses at offset
903  Failed: missing ) at offset 4  Failed: missing ) at offset 4
904    
905  /(?<%)b/  /(?<%)b/
906  Failed: unrecognized character after (?< at offset 0  Failed: unrecognized character after (?< at offset 3
907    
908  /a(?{)b/  /a(?{)b/
909  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? at offset 3
# Line 1018  copy substring 1 failed -6 Line 1015  copy substring 1 failed -6
1015  Capturing subpattern count = 3  Capturing subpattern count = 3
1016  Options: anchored  Options: anchored
1017  No first char  No first char
1018  Need char = 'f'  No need char
1019      adef\G1\G2\G3\G4\L      adef\G1\G2\G3\G4\L
1020   0: adef   0: adef
1021   1: a   1: a
# Line 1056  get substring 4 failed -7 Line 1053  get substring 4 failed -7
1053  Capturing subpattern count = 0  Capturing subpattern count = 0
1054  Options: anchored  Options: anchored
1055  No first char  No first char
1056  Need char = 'f'  No need char
1057      abc\00def\L\C0      abc\00def\L\C0
1058   0: abc\x00def   0: abc\x00def
1059   0C abc (7)   0C abc (7)
# Line 1245  Need char = 's' Line 1242  Need char = 's'
1242  Capturing subpattern count = 0  Capturing subpattern count = 0
1243  Options: anchored  Options: anchored
1244  No first char  No first char
1245  Need char = 's'  No need char
1246      ississippi      ississippi
1247   0: iss   0: iss
1248   0+ issippi   0+ issippi
# Line 1295  Need char = 'i' Line 1292  Need char = 'i'
1292  Capturing subpattern count = 0  Capturing subpattern count = 0
1293  Options: anchored  Options: anchored
1294  No first char  No first char
1295  Need char = 's'  No need char
1296      Mississippi      Mississippi
1297   0: Mis   0: Mis
1298   0+ sissippi   0+ sissippi
# Line 1304  Need char = 's' Line 1301  Need char = 's'
1301  Capturing subpattern count = 0  Capturing subpattern count = 0
1302  Options: anchored  Options: anchored
1303  No first char  No first char
1304  Need char = 10  No need char
1305      ab\nab\ncd      ab\nab\ncd
1306   0: ab\x0a   0: ab\x0a
1307   0+ ab\x0acd   0+ ab\x0acd
# Line 1486  Need char = 'a' Line 1483  Need char = 'a'
1483  Capturing subpattern count = 0  Capturing subpattern count = 0
1484  No options  No options
1485  First char = 'a'  First char = 'a'
1486  No need char  Need char = 'a'
1487    
1488  /(?=a)a.*/  /(?=a)a.*/
1489  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 1790  Need char = ')' Line 1787  Need char = ')'
1787   0: (abcd(xyz<p>qrs)123)   0: (abcd(xyz<p>qrs)123)
1788   1: abcd(xyz<p>qrs)123   1: abcd(xyz<p>qrs)123
1789   2: 123   2: 123
1790   3: <p>qrs   3: <unset>
1791    
1792  /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /x  /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /x
1793  Capturing subpattern count = 3  Capturing subpattern count = 3
# Line 1847  Options: anchored Line 1844  Options: anchored
1844  No first char  No first char
1845  No need char  No need char
1846    
1847    /^[[:blank:]]/D
1848    ------------------------------------------------------------------
1849      0  37 Bra 0
1850      3     ^
1851      4     [\x09 ]
1852     37  37 Ket
1853     40     End
1854    ------------------------------------------------------------------
1855    Capturing subpattern count = 0
1856    Options: anchored
1857    No first char
1858    No need char
1859    
1860  /^[[:cntrl:]]/D  /^[[:cntrl:]]/D
1861  ------------------------------------------------------------------  ------------------------------------------------------------------
1862    0  37 Bra 0    0  37 Bra 0
# Line 2003  Options: anchored Line 2013  Options: anchored
2013  No first char  No first char
2014  No need char  No need char
2015    
2016    /^[[:^blank:]]/D
2017    ------------------------------------------------------------------
2018      0  37 Bra 0
2019      3     ^
2020      4     [\x00-\x08\x0a-\x1f!-\xff]
2021     37  37 Ket
2022     40     End
2023    ------------------------------------------------------------------
2024    Capturing subpattern count = 0
2025    Options: anchored
2026    No first char
2027    No need char
2028    
2029  /[01[:alpha:]%]/D  /[01[:alpha:]%]/D
2030  ------------------------------------------------------------------  ------------------------------------------------------------------
2031    0  36 Bra 0    0  36 Bra 0
# Line 2064  No match Line 2087  No match
2087      AB      AB
2088  No match  No match
2089    
2090  / End of test input /  /[\200-\410]/
2091    Failed: range out of order in character class at offset 9
2092    
2093    /^(?(0)f|b)oo/
2094    Failed: invalid condition (?(0) at offset 5
2095    
2096    /This one's here because of the large output vector needed/
2097    Capturing subpattern count = 0
2098    No options
2099    First char = 'T'
2100    Need char = 'd'
2101    
2102    /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\w+)\s+(\270)/
2103    Capturing subpattern count = 271
2104    Max back reference = 270
2105    No options
2106    No first char
2107    No need char
2108        \O900 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 ABC ABC
2109     0: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 ABC ABC
2110     1: 1
2111     2: 2
2112     3: 3
2113     4: 4
2114     5: 5
2115     6: 6
2116     7: 7
2117     8: 8
2118     9: 9
2119    10: 10
2120    11: 11
2121    12: 12
2122    13: 13
2123    14: 14
2124    15: 15
2125    16: 16
2126    17: 17
2127    18: 18
2128    19: 19
2129    20: 20
2130    21: 21
2131    22: 22
2132    23: 23
2133    24: 24
2134    25: 25
2135    26: 26
2136    27: 27
2137    28: 28
2138    29: 29
2139    30: 30
2140    31: 31
2141    32: 32
2142    33: 33
2143    34: 34
2144    35: 35
2145    36: 36
2146    37: 37
2147    38: 38
2148    39: 39
2149    40: 40
2150    41: 41
2151    42: 42
2152    43: 43
2153    44: 44
2154    45: 45
2155    46: 46
2156    47: 47
2157    48: 48
2158    49: 49
2159    50: 50
2160    51: 51
2161    52: 52
2162    53: 53
2163    54: 54
2164    55: 55
2165    56: 56
2166    57: 57
2167    58: 58
2168    59: 59
2169    60: 60
2170    61: 61
2171    62: 62
2172    63: 63
2173    64: 64
2174    65: 65
2175    66: 66
2176    67: 67
2177    68: 68
2178    69: 69
2179    70: 70
2180    71: 71
2181    72: 72
2182    73: 73
2183    74: 74
2184    75: 75
2185    76: 76
2186    77: 77
2187    78: 78
2188    79: 79
2189    80: 80
2190    81: 81
2191    82: 82
2192    83: 83
2193    84: 84
2194    85: 85
2195    86: 86
2196    87: 87
2197    88: 88
2198    89: 89
2199    90: 90
2200    91: 91
2201    92: 92
2202    93: 93
2203    94: 94
2204    95: 95
2205    96: 96
2206    97: 97
2207    98: 98
2208    99: 99
2209    100: 100
2210    101: 101
2211    102: 102
2212    103: 103
2213    104: 104
2214    105: 105
2215    106: 106
2216    107: 107
2217    108: 108
2218    109: 109
2219    110: 110
2220    111: 111
2221    112: 112
2222    113: 113
2223    114: 114
2224    115: 115
2225    116: 116
2226    117: 117
2227    118: 118
2228    119: 119
2229    120: 120
2230    121: 121
2231    122: 122
2232    123: 123
2233    124: 124
2234    125: 125
2235    126: 126
2236    127: 127
2237    128: 128
2238    129: 129
2239    130: 130
2240    131: 131
2241    132: 132
2242    133: 133
2243    134: 134
2244    135: 135
2245    136: 136
2246    137: 137
2247    138: 138
2248    139: 139
2249    140: 140
2250    141: 141
2251    142: 142
2252    143: 143
2253    144: 144
2254    145: 145
2255    146: 146
2256    147: 147
2257    148: 148
2258    149: 149
2259    150: 150
2260    151: 151
2261    152: 152
2262    153: 153
2263    154: 154
2264    155: 155
2265    156: 156
2266    157: 157
2267    158: 158
2268    159: 159
2269    160: 160
2270    161: 161
2271    162: 162
2272    163: 163
2273    164: 164
2274    165: 165
2275    166: 166
2276    167: 167
2277    168: 168
2278    169: 169
2279    170: 170
2280    171: 171
2281    172: 172
2282    173: 173
2283    174: 174
2284    175: 175
2285    176: 176
2286    177: 177
2287    178: 178
2288    179: 179
2289    180: 180
2290    181: 181
2291    182: 182
2292    183: 183
2293    184: 184
2294    185: 185
2295    186: 186
2296    187: 187
2297    188: 188
2298    189: 189
2299    190: 190
2300    191: 191
2301    192: 192
2302    193: 193
2303    194: 194
2304    195: 195
2305    196: 196
2306    197: 197
2307    198: 198
2308    199: 199
2309    200: 200
2310    201: 201
2311    202: 202
2312    203: 203
2313    204: 204
2314    205: 205
2315    206: 206
2316    207: 207
2317    208: 208
2318    209: 209
2319    210: 210
2320    211: 211
2321    212: 212
2322    213: 213
2323    214: 214
2324    215: 215
2325    216: 216
2326    217: 217
2327    218: 218
2328    219: 219
2329    220: 220
2330    221: 221
2331    222: 222
2332    223: 223
2333    224: 224
2334    225: 225
2335    226: 226
2336    227: 227
2337    228: 228
2338    229: 229
2339    230: 230
2340    231: 231
2341    232: 232
2342    233: 233
2343    234: 234
2344    235: 235
2345    236: 236
2346    237: 237
2347    238: 238
2348    239: 239
2349    240: 240
2350    241: 241
2351    242: 242
2352    243: 243
2353    244: 244
2354    245: 245
2355    246: 246
2356    247: 247
2357    248: 248
2358    249: 249
2359    250: 250
2360    251: 251
2361    252: 252
2362    253: 253
2363    254: 254
2364    255: 255
2365    256: 256
2366    257: 257
2367    258: 258
2368    259: 259
2369    260: 260
2370    261: 261
2371    262: 262
2372    263: 263
2373    264: 264
2374    265: 265
2375    266: 266
2376    267: 267
2377    268: 268
2378    269: 269
2379    270: ABC
2380    271: ABC
2381    
2382    /This one's here because Perl does this differently and PCRE can't at present/
2383    Capturing subpattern count = 0
2384    No options
2385    First char = 'T'
2386    Need char = 't'
2387    
2388    /(main(O)?)+/
2389    Capturing subpattern count = 2
2390    No options
2391    First char = 'm'
2392    Need char = 'n'
2393        mainmain
2394     0: mainmain
2395     1: main
2396        mainOmain
2397     0: mainOmain
2398     1: main
2399     2: O
2400    
2401    /These are all cases where Perl does it differently (nested captures)/
2402    Capturing subpattern count = 1
2403    No options
2404    First char = 'T'
2405    Need char = 's'
2406    
2407    /^(a(b)?)+$/
2408    Capturing subpattern count = 2
2409    Options: anchored
2410    No first char
2411    No need char
2412        aba
2413     0: aba
2414     1: a
2415     2: b
2416    
2417    /^(aa(bb)?)+$/
2418    Capturing subpattern count = 2
2419    Options: anchored
2420    No first char
2421    No need char
2422        aabbaa
2423     0: aabbaa
2424     1: aa
2425     2: bb
2426    
2427    /^(aa|aa(bb))+$/
2428    Capturing subpattern count = 2
2429    Options: anchored
2430    No first char
2431    No need char
2432        aabbaa
2433     0: aabbaa
2434     1: aa
2435     2: bb
2436    
2437    /^(aa(bb)??)+$/
2438    Capturing subpattern count = 2
2439    Options: anchored
2440    No first char
2441    No need char
2442        aabbaa
2443     0: aabbaa
2444     1: aa
2445     2: bb
2446    
2447    /^(?:aa(bb)?)+$/
2448    Capturing subpattern count = 1
2449    Options: anchored
2450    No first char
2451    No need char
2452        aabbaa
2453     0: aabbaa
2454     1: bb
2455    
2456    /^(aa(b(b))?)+$/
2457    Capturing subpattern count = 3
2458    Options: anchored
2459    No first char
2460    No need char
2461        aabbaa
2462     0: aabbaa
2463     1: aa
2464     2: bb
2465     3: b
2466    
2467    /^(?:aa(b(b))?)+$/
2468    Capturing subpattern count = 2
2469    Options: anchored
2470    No first char
2471    No need char
2472        aabbaa
2473     0: aabbaa
2474     1: bb
2475     2: b
2476    
2477    /^(?:aa(b(?:b))?)+$/
2478    Capturing subpattern count = 1
2479    Options: anchored
2480    No first char
2481    No need char
2482        aabbaa
2483     0: aabbaa
2484     1: bb
2485    
2486    /^(?:aa(bb(?:b))?)+$/
2487    Capturing subpattern count = 1
2488    Options: anchored
2489    No first char
2490    No need char
2491        aabbbaa
2492     0: aabbbaa
2493     1: bbb
2494    
2495    /^(?:aa(b(?:bb))?)+$/
2496    Capturing subpattern count = 1
2497    Options: anchored
2498    No first char
2499    No need char
2500        aabbbaa
2501     0: aabbbaa
2502     1: bbb
2503    
2504    /^(?:aa(?:b(b))?)+$/
2505    Capturing subpattern count = 1
2506    Options: anchored
2507    No first char
2508    No need char
2509        aabbaa
2510     0: aabbaa
2511     1: b
2512    
2513    /^(?:aa(?:b(bb))?)+$/
2514    Capturing subpattern count = 1
2515    Options: anchored
2516    No first char
2517    No need char
2518        aabbbaa
2519     0: aabbbaa
2520     1: bb
2521    
2522    /^(aa(b(bb))?)+$/
2523    Capturing subpattern count = 3
2524    Options: anchored
2525    No first char
2526    No need char
2527        aabbbaa
2528     0: aabbbaa
2529     1: aa
2530     2: bbb
2531     3: bb
2532    
2533    /^(aa(bb(bb))?)+$/
2534    Capturing subpattern count = 3
2535    Options: anchored
2536    No first char
2537    No need char
2538        aabbbbaa
2539     0: aabbbbaa
2540     1: aa
2541     2: bbbb
2542     3: bb
2543    
2544    /--------------------------------------------------------------------/
2545    Capturing subpattern count = 0
2546    No options
2547    First char = '-'
2548    Need char = '-'
2549    
2550    /#/xMD
2551    Memory allocation (code space): 7
2552    ------------------------------------------------------------------
2553      0   3 Bra 0
2554      3   3 Ket
2555      6     End
2556    ------------------------------------------------------------------
2557    Capturing subpattern count = 0
2558    Options: extended
2559    No first char
2560    No need char
2561    
2562    /a#/xMD
2563    Memory allocation (code space): 13
2564    ------------------------------------------------------------------
2565      0   6 Bra 0
2566      3   1 a
2567      6   6 Ket
2568      9     End
2569    ------------------------------------------------------------------
2570    Capturing subpattern count = 0
2571    Options: extended
2572    First char = 'a'
2573    No need char
2574    
2575    /[\s]/D
2576    ------------------------------------------------------------------
2577      0  36 Bra 0
2578      3     [\x09-\x0a\x0c-\x0d ]
2579     36  36 Ket
2580     39     End
2581    ------------------------------------------------------------------
2582    Capturing subpattern count = 0
2583    No options
2584    No first char
2585    No need char
2586    
2587    /[\S]/D
2588    ------------------------------------------------------------------
2589      0  36 Bra 0
2590      3     [\x00-\x08\x0b\x0e-\x1f!-\xff]
2591     36  36 Ket
2592     39     End
2593    ------------------------------------------------------------------
2594    Capturing subpattern count = 0
2595    No options
2596    No first char
2597    No need char
2598    
2599    /a(?i)b/D
2600    ------------------------------------------------------------------
2601      0  11 Bra 0
2602      3   1 a
2603      6  01 Opt
2604      8   1 b
2605     11  11 Ket
2606     14     End
2607    ------------------------------------------------------------------
2608    Capturing subpattern count = 0
2609    No options
2610    Case state changes
2611    First char = 'a'
2612    Need char = 'b' (caseless)
2613        ab
2614     0: ab
2615        aB
2616     0: aB
2617        *** Failers
2618    No match
2619        AB
2620    No match
2621    
2622    /(a(?i)b)/D
2623    ------------------------------------------------------------------
2624      0  19 Bra 0
2625      3  11 Bra 1
2626      6   1 a
2627      9  01 Opt
2628     11   1 b
2629     14  11 Ket
2630     17  00 Opt
2631     19  19 Ket
2632     22     End
2633    ------------------------------------------------------------------
2634    Capturing subpattern count = 1
2635    No options
2636    Case state changes
2637    First char = 'a'
2638    Need char = 'b' (caseless)
2639        ab
2640     0: ab
2641     1: ab
2642        aB
2643     0: aB
2644     1: aB
2645        *** Failers
2646    No match
2647        AB
2648    No match
2649    
2650    /   (?i)abc/xD
2651    ------------------------------------------------------------------
2652      0   8 Bra 0
2653      3   3 abc
2654      8   8 Ket
2655     11     End
2656    ------------------------------------------------------------------
2657    Capturing subpattern count = 0
2658    Options: caseless extended
2659    First char = 'a' (caseless)
2660    Need char = 'c' (caseless)
2661    
2662    /#this is a comment
2663      (?i)abc/xD
2664    ------------------------------------------------------------------
2665      0   8 Bra 0
2666      3   3 abc
2667      8   8 Ket
2668     11     End
2669    ------------------------------------------------------------------
2670    Capturing subpattern count = 0
2671    Options: caseless extended
2672    First char = 'a' (caseless)
2673    Need char = 'c' (caseless)
2674    
2675    /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/D
2676    ------------------------------------------------------------------
2677      0 307 Bra 0
2678      3 250 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2679    255  50 12345678901234567890123456789012345678901234567890
2680    307 307 Ket
2681    310     End
2682    ------------------------------------------------------------------
2683    Capturing subpattern count = 0
2684    No options
2685    First char = '1'
2686    Need char = '0'
2687    
2688    /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/D
2689    ------------------------------------------------------------------
2690      0 307 Bra 0
2691      3 250 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2692    255  50 12345678901234567890123456789012345678901234567890
2693    307 307 Ket
2694    310     End
2695    ------------------------------------------------------------------
2696    Capturing subpattern count = 0
2697    No options
2698    First char = '1'
2699    Need char = '0'
2700    
2701    /\Q\E/D
2702    ------------------------------------------------------------------
2703      0   3 Bra 0
2704      3   3 Ket
2705      6     End
2706    ------------------------------------------------------------------
2707    Capturing subpattern count = 0
2708    No options
2709    No first char
2710    No need char
2711        \
2712     0:
2713    
2714    /\Q\Ex/D
2715    ------------------------------------------------------------------
2716      0   6 Bra 0
2717      3   1 x
2718      6   6 Ket
2719      9     End
2720    ------------------------------------------------------------------
2721    Capturing subpattern count = 0
2722    No options
2723    First char = 'x'
2724    No need char
2725    
2726    / \Q\E/D
2727    ------------------------------------------------------------------
2728      0   6 Bra 0
2729      3   1
2730      6   6 Ket
2731      9     End
2732    ------------------------------------------------------------------
2733    Capturing subpattern count = 0
2734    No options
2735    First char = ' '
2736    No need char
2737    
2738    /a\Q\E/D
2739    ------------------------------------------------------------------
2740      0   6 Bra 0
2741      3   1 a
2742      6   6 Ket
2743      9     End
2744    ------------------------------------------------------------------
2745    Capturing subpattern count = 0
2746    No options
2747    First char = 'a'
2748    No need char
2749      abc
2750     0: a
2751      bca
2752     0: a
2753      bac
2754     0: a
2755    
2756    /a\Q\Eb/D
2757    ------------------------------------------------------------------
2758      0   9 Bra 0
2759      3   1 a
2760      6   1 b
2761      9   9 Ket
2762     12     End
2763    ------------------------------------------------------------------
2764    Capturing subpattern count = 0
2765    No options
2766    First char = 'a'
2767    Need char = 'b'
2768      abc
2769     0: ab
2770    
2771    /\Q\Eabc/D
2772    ------------------------------------------------------------------
2773      0   8 Bra 0
2774      3   3 abc
2775      8   8 Ket
2776     11     End
2777    ------------------------------------------------------------------
2778    Capturing subpattern count = 0
2779    No options
2780    First char = 'a'
2781    Need char = 'c'
2782    
2783    /x*+\w/D
2784    ------------------------------------------------------------------
2785      0  12 Bra 0
2786      3   5 Once
2787      6     x*
2788      8   5 Ket
2789     11     \w
2790     12  12 Ket
2791     15     End
2792    ------------------------------------------------------------------
2793    Capturing subpattern count = 0
2794    No options
2795    No first char
2796    No need char
2797        *** Failers
2798     0: F
2799        xxxxx
2800    No match
2801    
2802    /x?+/D
2803    ------------------------------------------------------------------
2804      0  11 Bra 0
2805      3   5 Once
2806      6     x?
2807      8   5 Ket
2808     11  11 Ket
2809     14     End
2810    ------------------------------------------------------------------
2811    Capturing subpattern count = 0
2812    No options
2813    No first char
2814    No need char
2815    
2816    /x++/D
2817    ------------------------------------------------------------------
2818      0  11 Bra 0
2819      3   5 Once
2820      6     x+
2821      8   5 Ket
2822     11  11 Ket
2823     14     End
2824    ------------------------------------------------------------------
2825    Capturing subpattern count = 0
2826    No options
2827    First char = 'x'
2828    No need char
2829    
2830    /x{1,3}+/D
2831    ------------------------------------------------------------------
2832      0  16 Bra 0
2833      3  10 Once
2834      6   1 x
2835      9     x{,2}
2836     13  10 Ket
2837     16  16 Ket
2838     19     End
2839    ------------------------------------------------------------------
2840    Capturing subpattern count = 0
2841    No options
2842    First char = 'x'
2843    No need char
2844    
2845    /(x)*+/D
2846    ------------------------------------------------------------------
2847      0  19 Bra 0
2848      3  13 Once
2849      6     Brazero
2850      7   6 Bra 1
2851     10   1 x
2852     13   6 KetRmax
2853     16  13 Ket
2854     19  19 Ket
2855     22     End
2856    ------------------------------------------------------------------
2857    Capturing subpattern count = 1
2858    No options
2859    No first char
2860    No need char
2861    
2862    /^(\w++|\s++)*$/
2863    Capturing subpattern count = 1
2864    Options: anchored
2865    No first char
2866    No need char
2867        now is the time for all good men to come to the aid of the party
2868     0: now is the time for all good men to come to the aid of the party
2869     1: party
2870        *** Failers
2871    No match
2872        this is not a line with only words and spaces!
2873    No match
2874    
2875    /(\d++)(\w)/
2876    Capturing subpattern count = 2
2877    No options
2878    No first char
2879    No need char
2880        12345a
2881     0: 12345a
2882     1: 12345
2883     2: a
2884        *** Failers
2885    No match
2886        12345+
2887    No match
2888    
2889    /a++b/
2890    Capturing subpattern count = 0
2891    No options
2892    First char = 'a'
2893    Need char = 'b'
2894        aaab
2895     0: aaab
2896    
2897    /(a++b)/
2898    Capturing subpattern count = 1
2899    No options
2900    First char = 'a'
2901    Need char = 'b'
2902        aaab
2903     0: aaab
2904     1: aaab
2905    
2906    /(a++)b/
2907    Capturing subpattern count = 1
2908    No options
2909    First char = 'a'
2910    Need char = 'b'
2911        aaab
2912     0: aaab
2913     1: aaa
2914    
2915    /([^()]++|\([^()]*\))+/
2916    Capturing subpattern count = 1
2917    No options
2918    No first char
2919    No need char
2920        ((abc(ade)ufh()()x
2921     0: abc(ade)ufh()()x
2922     1: x
2923    
2924    /\(([^()]++|\([^()]+\))+\)/
2925    Capturing subpattern count = 1
2926    No options
2927    First char = '('
2928    Need char = ')'
2929        (abc)
2930     0: (abc)
2931     1: abc
2932        (abc(def)xyz)
2933     0: (abc(def)xyz)
2934     1: xyz
2935        *** Failers
2936    No match
2937        ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
2938    No match
2939    
2940    /(abc){1,3}+/D
2941    ------------------------------------------------------------------
2942      0  50 Bra 0
2943      3  44 Once
2944      6   8 Bra 1
2945      9   3 abc
2946     14   8 Ket
2947     17     Brazero
2948     18  26 Bra 0
2949     21   8 Bra 1
2950     24   3 abc
2951     29   8 Ket
2952     32     Brazero
2953     33   8 Bra 1
2954     36   3 abc
2955     41   8 Ket
2956     44  26 Ket
2957     47  44 Ket
2958     50  50 Ket
2959     53     End
2960    ------------------------------------------------------------------
2961    Capturing subpattern count = 1
2962    No options
2963    First char = 'a'
2964    Need char = 'c'
2965    
2966    /a+?+/
2967    Failed: nothing to repeat at offset 3
2968    
2969    /a{2,3}?+b/
2970    Failed: nothing to repeat at offset 7
2971    
2972    /(?U)a+?+/
2973    Failed: nothing to repeat at offset 7
2974    
2975    /a{2,3}?+b/U
2976    Failed: nothing to repeat at offset 7
2977    
2978    /x(?U)a++b/D
2979    ------------------------------------------------------------------
2980      0  17 Bra 0
2981      3   1 x
2982      6   5 Once
2983      9     a+
2984     11   5 Ket
2985     14   1 b
2986     17  17 Ket
2987     20     End
2988    ------------------------------------------------------------------
2989    Capturing subpattern count = 0
2990    No options
2991    First char = 'x'
2992    Need char = 'b'
2993        xaaaab
2994     0: xaaaab
2995    
2996    /(?U)xa++b/D
2997    ------------------------------------------------------------------
2998      0  17 Bra 0
2999      3   1 x
3000      6   5 Once
3001      9     a+
3002     11   5 Ket
3003     14   1 b
3004     17  17 Ket
3005     20     End
3006    ------------------------------------------------------------------
3007    Capturing subpattern count = 0
3008    Options: ungreedy
3009    First char = 'x'
3010    Need char = 'b'
3011        xaaaab
3012     0: xaaaab
3013    
3014    /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/D
3015    ------------------------------------------------------------------
3016      0 106 Bra 0
3017      3     ^
3018      4  99 Bra 1
3019      7   5 Bra 2
3020     10     a+
3021     12   5 Ket
3022     15  37 Bra 3
3023     18     [a-b]+?
3024     52  37 Ket
3025     55  37 Bra 4
3026     58     [b-c]+
3027     92  37 Ket
3028     95   5 Bra 5
3029     98     \w*
3030    100   5 Ket
3031    103  99 Ket
3032    106 106 Ket
3033    109     End
3034    ------------------------------------------------------------------
3035    Capturing subpattern count = 5
3036    Options: anchored
3037    No first char
3038    No need char
3039    
3040    /^x(?U)a+b/D
3041    ------------------------------------------------------------------
3042      0  12 Bra 0
3043      3     ^
3044      4   1 x
3045      7     a+?
3046      9   1 b
3047     12  12 Ket
3048     15     End
3049    ------------------------------------------------------------------
3050    Capturing subpattern count = 0
3051    Options: anchored
3052    No first char
3053    Need char = 'b'
3054    
3055    /^x(?U)(a+)b/D
3056    ------------------------------------------------------------------
3057      0  18 Bra 0
3058      3     ^
3059      4   1 x
3060      7   5 Bra 1
3061     10     a+?
3062     12   5 Ket
3063     15   1 b
3064     18  18 Ket
3065     21     End
3066    ------------------------------------------------------------------
3067    Capturing subpattern count = 1
3068    Options: anchored
3069    No first char
3070    Need char = 'b'
3071    
3072    /[.x.]/
3073    Failed: POSIX collating elements are not supported at offset 0
3074    
3075    /[=x=]/
3076    Failed: POSIX collating elements are not supported at offset 0
3077    
3078    /[:x:]/
3079    Failed: POSIX named classes are supported only within a class at offset 0
3080    
3081    /\l/
3082    Failed: PCRE does not support \L, \l, \N, \P, \p, \U, \u, or \X at offset 1
3083    
3084    /\L/
3085    Failed: PCRE does not support \L, \l, \N, \P, \p, \U, \u, or \X at offset 1
3086    
3087    /\N{name}/
3088    Failed: PCRE does not support \L, \l, \N, \P, \p, \U, \u, or \X at offset 1
3089    
3090    /\pP/
3091    Failed: PCRE does not support \L, \l, \N, \P, \p, \U, \u, or \X at offset 1
3092    
3093    /\PP/
3094    Failed: PCRE does not support \L, \l, \N, \P, \p, \U, \u, or \X at offset 1
3095    
3096    /\p{prop}/
3097    Failed: PCRE does not support \L, \l, \N, \P, \p, \U, \u, or \X at offset 1
3098    
3099    /\P{prop}/
3100    Failed: PCRE does not support \L, \l, \N, \P, \p, \U, \u, or \X at offset 1
3101    
3102    /\u/
3103    Failed: PCRE does not support \L, \l, \N, \P, \p, \U, \u, or \X at offset 1
3104    
3105    /\U/
3106    Failed: PCRE does not support \L, \l, \N, \P, \p, \U, \u, or \X at offset 1
3107    
3108    /\X/
3109    Failed: PCRE does not support \L, \l, \N, \P, \p, \U, \u, or \X at offset 1
3110    
3111    /[/
3112    Failed: missing terminating ] for character class at offset 1
3113    
3114    /[a-/
3115    Failed: missing terminating ] for character class at offset 3
3116    
3117    /[[:space:]/
3118    Failed: missing terminating ] for character class at offset 10
3119    
3120    /[\s]/DM
3121    Memory allocation (code space): 40
3122    ------------------------------------------------------------------
3123      0  36 Bra 0
3124      3     [\x09-\x0a\x0c-\x0d ]
3125     36  36 Ket
3126     39     End
3127    ------------------------------------------------------------------
3128    Capturing subpattern count = 0
3129    No options
3130    No first char
3131    No need char
3132    
3133    /[[:space:]]/DM
3134    Memory allocation (code space): 40
3135    ------------------------------------------------------------------
3136      0  36 Bra 0
3137      3     [\x09-\x0d ]
3138     36  36 Ket
3139     39     End
3140    ------------------------------------------------------------------
3141    Capturing subpattern count = 0
3142    No options
3143    No first char
3144    No need char
3145    
3146    /[[:space:]abcde]/DM
3147    Memory allocation (code space): 40
3148    ------------------------------------------------------------------
3149      0  36 Bra 0
3150      3     [\x09-\x0d a-e]
3151     36  36 Ket
3152     39     End
3153    ------------------------------------------------------------------
3154    Capturing subpattern count = 0
3155    No options
3156    No first char
3157    No need char
3158    
3159    /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/x
3160    Capturing subpattern count = 0
3161    Options: extended
3162    First char = '<'
3163    Need char = '>'
3164        <>
3165     0: <>
3166        <abcd>
3167     0: <abcd>
3168        <abc <123> hij>
3169     0: <abc <123> hij>
3170        <abc <def> hij>
3171     0: <def>
3172        <abc<>def>
3173     0: <abc<>def>
3174        <abc<>
3175     0: <>
3176        *** Failers
3177    No match
3178        <abc
3179    No match
3180    
3181    |8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|DM
3182    Memory allocation (code space): 421
3183    ------------------------------------------------------------------
3184      0 417 Bra 0
3185      3 250 8J$WE<.rX+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDD<EjmhUZ?.akp2dF>qmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:
3186    255 159 x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X
3187    416     \b
3188    417 417 Ket
3189    420     End
3190    ------------------------------------------------------------------
3191    Capturing subpattern count = 0
3192    No options
3193    First char = '8'
3194    Need char = 'X'
3195    
3196    |\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|DM
3197    Memory allocation (code space): 416
3198    ------------------------------------------------------------------
3199      0 412 Bra 0
3200      3 250 $<.X+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDD<EjmhUZ?.akp2dF>qmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[
3201    255 154 %z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X
3202    411     \b
3203    412 412 Ket
3204    415     End
3205    ------------------------------------------------------------------
3206    Capturing subpattern count = 0
3207    No options
3208    First char = '$'
3209    Need char = 'X'
3210    
3211    /(.*)\d+\1/I
3212    Capturing subpattern count = 1
3213    Max back reference = 1
3214    No options
3215    No first char
3216    No need char
3217    
3218    /(.*)\d+/I
3219    Capturing subpattern count = 1
3220    No options
3221    First char at start or follows \n
3222    No need char
3223    
3224    /(.*)\d+\1/Is
3225    Capturing subpattern count = 1
3226    Max back reference = 1
3227    Options: dotall
3228    No first char
3229    No need char
3230    
3231    /(.*)\d+/Is
3232    Capturing subpattern count = 1
3233    Options: anchored dotall
3234    No first char
3235    No need char
3236    
3237    /(.*(xyz))\d+\2/I
3238    Capturing subpattern count = 2
3239    Max back reference = 2
3240    No options
3241    First char at start or follows \n
3242    Need char = 'z'
3243    
3244    /((.*))\d+\1/I
3245    Capturing subpattern count = 2
3246    Max back reference = 1
3247    No options
3248    No first char
3249    No need char
3250        abc123bc
3251     0: bc123bc
3252     1: bc
3253     2: bc
3254    
3255    /a[b]/I
3256    Capturing subpattern count = 0
3257    No options
3258    First char = 'a'
3259    Need char = 'b'
3260    
3261    /(?=a).*/I
3262    Capturing subpattern count = 0
3263    No options
3264    First char = 'a'
3265    No need char
3266    
3267    /(?=abc).xyz/iI
3268    Capturing subpattern count = 0
3269    Options: caseless
3270    First char = 'a' (caseless)
3271    Need char = 'z' (caseless)
3272    
3273    /(?=abc)(?i).xyz/I
3274    Capturing subpattern count = 0
3275    No options
3276    Case state changes
3277    First char = 'a'
3278    Need char = 'z' (caseless)
3279    
3280    /(?=a)(?=b)/I
3281    Capturing subpattern count = 0
3282    No options
3283    First char = 'a'
3284    No need char
3285    
3286    /(?=.)a/I
3287    Capturing subpattern count = 0
3288    No options
3289    First char = 'a'
3290    No need char
3291    
3292    /((?=abcda)a)/I
3293    Capturing subpattern count = 1
3294    No options
3295    First char = 'a'
3296    Need char = 'a'
3297    
3298    /((?=abcda)ab)/I
3299    Capturing subpattern count = 1
3300    No options
3301    First char = 'a'
3302    Need char = 'b'
3303    
3304    /()a/I
3305    Capturing subpattern count = 1
3306    No options
3307    No first char
3308    Need char = 'a'
3309    
3310    /(?(1)ab|ac)/I
3311    Capturing subpattern count = 0
3312    No options
3313    First char = 'a'
3314    No need char
3315    
3316    /(?(1)abz|acz)/I
3317    Capturing subpattern count = 0
3318    No options
3319    First char = 'a'
3320    Need char = 'z'
3321    
3322    /(?(1)abz)/I
3323    Capturing subpattern count = 0
3324    No options
3325    No first char
3326    No need char
3327    
3328    /(?(1)abz)123/I
3329    Capturing subpattern count = 0
3330    No options
3331    No first char
3332    Need char = '3'
3333    
3334    /(a)+/I
3335    Capturing subpattern count = 1
3336    No options
3337    First char = 'a'
3338    No need char
3339    
3340    /(a){2,3}/I
3341    Capturing subpattern count = 1
3342    No options
3343    First char = 'a'
3344    Need char = 'a'
3345    
3346    /(a)*/I
3347    Capturing subpattern count = 1
3348    No options
3349    No first char
3350    No need char
3351    
3352    /[a]/I
3353    Capturing subpattern count = 0
3354    No options
3355    First char = 'a'
3356    No need char
3357    
3358    /[ab]/I
3359    Capturing subpattern count = 0
3360    No options
3361    No first char
3362    No need char
3363    
3364    /[ab]/IS
3365    Capturing subpattern count = 0
3366    No options
3367    No first char
3368    No need char
3369    Starting character set: a b
3370    
3371    /[^a]/I
3372    Capturing subpattern count = 0
3373    No options
3374    No first char
3375    No need char
3376    
3377    /\d456/I
3378    Capturing subpattern count = 0
3379    No options
3380    No first char
3381    Need char = '6'
3382    
3383    /\d456/IS
3384    Capturing subpattern count = 0
3385    No options
3386    No first char
3387    Need char = '6'
3388    Starting character set: 0 1 2 3 4 5 6 7 8 9
3389    
3390    /a^b/I
3391    Capturing subpattern count = 0
3392    No options
3393    First char = 'a'
3394    Need char = 'b'
3395    
3396    /^a/mI
3397    Capturing subpattern count = 0
3398    Options: multiline
3399    First char at start or follows \n
3400    Need char = 'a'
3401      abcde
3402     0: a
3403      xy\nabc
3404     0: a
3405      *** Failers
3406    No match
3407      xyabc
3408    No match
3409    
3410    /c|abc/I
3411    Capturing subpattern count = 0
3412    No options
3413    No first char
3414    Need char = 'c'
3415    
3416    /(?i)[ab]/IS
3417    Capturing subpattern count = 0
3418    Options: caseless
3419    No first char
3420    No need char
3421    Starting character set: A B a b
3422    
3423    /[ab](?i)cd/IS
3424    Capturing subpattern count = 0
3425    No options
3426    Case state changes
3427    No first char
3428    Need char = 'd' (caseless)
3429    Starting character set: a b
3430    
3431    /abc(?C)def/
3432    Capturing subpattern count = 0
3433    No options
3434    First char = 'a'
3435    Need char = 'f'
3436        abcdef
3437    --->abcdef
3438      0 ^  ^
3439     0: abcdef
3440        1234abcdef
3441    --->1234abcdef
3442      0     ^  ^
3443     0: abcdef
3444        *** Failers
3445    No match
3446        abcxyz
3447    No match
3448        abcxyzf
3449    --->abcxyzf
3450      0 ^  ^
3451    No match
3452    
3453    /abc(?C)de(?C1)f/
3454    Capturing subpattern count = 0
3455    No options
3456    First char = 'a'
3457    Need char = 'f'
3458        123abcdef
3459    --->123abcdef
3460      0    ^  ^
3461      1    ^    ^
3462     0: abcdef
3463    
3464    /(?C1)\dabc(?C2)def/
3465    Capturing subpattern count = 0
3466    No options
3467    No first char
3468    Need char = 'f'
3469        1234abcdef
3470    --->1234abcdef
3471      1 ^
3472      1  ^
3473      1   ^
3474      1    ^
3475      2    ^   ^
3476     0: 4abcdef
3477        *** Failers
3478    No match
3479        abcdef
3480    --->abcdef
3481      1 ^
3482      1  ^
3483      1   ^
3484      1    ^
3485      1     ^
3486      1      ^
3487    No match
3488    
3489    /(?C255)ab/
3490    Capturing subpattern count = 0
3491    No options
3492    First char = 'a'
3493    Need char = 'b'
3494    
3495    /(?C256)ab/
3496    Failed: number after (?C is > 255 at offset 6
3497    
3498    /(?Cab)xx/
3499    Failed: closing ) for (?C expected at offset 3
3500    
3501    /(?C12vr)x/
3502    Failed: closing ) for (?C expected at offset 5
3503    
3504    /abc(?C)def/
3505    Capturing subpattern count = 0
3506    No options
3507    First char = 'a'
3508    Need char = 'f'
3509        *** Failers
3510    No match
3511        \x83\x0\x61bcdef
3512    --->\x83\x00abcdef
3513      0         ^  ^
3514     0: abcdef
3515    
3516    /(abc)(?C)de(?C1)f/
3517    Capturing subpattern count = 1
3518    No options
3519    First char = 'a'
3520    Need char = 'f'
3521        123abcdef
3522    --->123abcdef
3523      0    ^  ^
3524      1    ^    ^
3525     0: abcdef
3526     1: abc
3527        123abcdef\C+
3528    Callout 0: last capture = 1
3529     0: <unset>
3530     1: abc
3531    --->123abcdef
3532           ^  ^
3533    Callout 1: last capture = 1
3534     0: <unset>
3535     1: abc
3536    --->123abcdef
3537           ^    ^
3538     0: abcdef
3539     1: abc
3540        123abcdef\C-
3541     0: abcdef
3542     1: abc
3543        *** Failers
3544    No match
3545        123abcdef\C!1
3546    --->123abcdef
3547      0    ^  ^
3548      1    ^    ^
3549    No match
3550    
3551    /(?C0)(abc(?C1))*/
3552    Capturing subpattern count = 1
3553    No options
3554    No first char
3555    No need char
3556        abcabcabc
3557    --->abcabcabc
3558      0 ^
3559      1 ^  ^
3560      1 ^     ^
3561      1 ^        ^
3562     0: abcabcabc
3563     1: abc
3564        abcabc\C!1!3
3565    --->abcabc
3566      0 ^
3567      1 ^  ^
3568      1 ^     ^
3569     0: abcabc
3570     1: abc
3571        *** Failers
3572    --->*** Failers
3573      0 ^
3574     0:
3575        abcabcabc\C!1!3
3576    --->abcabcabc
3577      0 ^
3578      1 ^  ^
3579      1 ^     ^
3580      1 ^        ^
3581     0: abcabc
3582     1: abc
3583    
3584    /(\d{3}(?C))*/
3585    Capturing subpattern count = 1
3586    No options
3587    No first char
3588    No need char
3589        123\C+
3590    Callout 0: last capture = -1
3591     0: <unset>
3592    --->123
3593        ^  ^
3594     0: 123
3595     1: 123
3596        123456\C+
3597    Callout 0: last capture = -1
3598     0: <unset>
3599    --->123456
3600        ^  ^
3601    Callout 0: last capture = 1
3602     0: <unset>
3603     1: 123
3604    --->123456
3605        ^     ^
3606     0: 123456
3607     1: 456
3608        123456789\C+
3609    Callout 0: last capture = -1
3610     0: <unset>
3611    --->123456789
3612        ^  ^
3613    Callout 0: last capture = 1
3614     0: <unset>
3615     1: 123
3616    --->123456789
3617        ^     ^
3618    Callout 0: last capture = 1
3619     0: <unset>
3620     1: 456
3621    --->123456789
3622        ^        ^
3623     0: 123456789
3624     1: 789
3625    
3626    /((xyz)(?C)p|(?C1)xyzabc)/
3627    Capturing subpattern count = 2
3628    No options
3629    First char = 'x'
3630    No need char
3631        xyzabc\C+
3632    Callout 0: last capture = 2
3633     0: <unset>
3634     1: <unset>
3635     2: xyz
3636    --->xyzabc
3637        ^  ^
3638    Callout 1: last capture = -1
3639     0: <unset>
3640    --->xyzabc
3641        ^
3642     0: xyzabc
3643     1: xyzabc
3644    
3645    /(X)((xyz)(?C)p|(?C1)xyzabc)/
3646    Capturing subpattern count = 3
3647    No options
3648    First char = 'X'
3649    Need char = 'x'
3650        Xxyzabc\C+
3651    Callout 0: last capture = 3
3652     0: <unset>
3653     1: X
3654     2: <unset>
3655     3: xyz
3656    --->Xxyzabc
3657        ^   ^
3658    Callout 1: last capture = 1
3659     0: <unset>
3660     1: X
3661    --->Xxyzabc
3662        ^^
3663     0: Xxyzabc
3664     1: X
3665     2: xyzabc
3666    
3667    /(?=(abc))(?C)abcdef/
3668    Capturing subpattern count = 1
3669    No options
3670    First char = 'a'
3671    Need char = 'f'
3672        abcdef\C+
3673    Callout 0: last capture = 1
3674     0: <unset>
3675     1: abc
3676    --->abcdef
3677        ^
3678     0: abcdef
3679     1: abc
3680    
3681    /(?!(abc)(?C1)d)(?C2)abcxyz/
3682    Capturing subpattern count = 1
3683    No options
3684    First char = 'a'
3685    Need char = 'z'
3686        abcxyz\C+
3687    Callout 1: last capture = 1
3688     0: <unset>
3689     1: abc
3690    --->abcxyz
3691        ^  ^
3692    Callout 2: last capture = -1
3693     0: <unset>
3694    --->abcxyz
3695        ^
3696     0: abcxyz
3697    
3698    /(?<=(abc)(?C))xyz/
3699    Capturing subpattern count = 1
3700    No options
3701    First char = 'x'
3702    Need char = 'z'
3703       abcxyz\C+
3704    Callout 0: last capture = 1
3705     0: <unset>
3706     1: abc
3707    --->abcxyz
3708           ^
3709     0: xyz
3710     1: abc
3711    
3712    /(?C)abc/
3713    Capturing subpattern count = 0
3714    No options
3715    First char = 'a'
3716    Need char = 'c'
3717    
3718    /(?C)^abc/
3719    Capturing subpattern count = 0
3720    Options: anchored
3721    No first char
3722    No need char
3723    
3724    /(?C)a|b/S
3725    Capturing subpattern count = 0
3726    No options
3727    No first char
3728    No need char
3729    Starting character set: a b
3730    
3731    /(?R)/
3732    Failed: recursive call could loop indefinitely at offset 3
3733    
3734    /(a|(?R))/
3735    Failed: recursive call could loop indefinitely at offset 6
3736    
3737    /(ab|(bc|(de|(?R))))/
3738    Failed: recursive call could loop indefinitely at offset 15
3739    
3740    /x(ab|(bc|(de|(?R))))/
3741    Capturing subpattern count = 3
3742    No options
3743    First char = 'x'
3744    No need char
3745        xab
3746     0: xab
3747     1: ab
3748        xbc
3749     0: xbc
3750     1: bc
3751     2: bc
3752        xde
3753     0: xde
3754     1: de
3755     2: de
3756     3: de
3757        xxab
3758     0: xxab
3759     1: xab
3760     2: xab
3761     3: xab
3762        xxxab
3763     0: xxxab
3764     1: xxab
3765     2: xxab
3766     3: xxab
3767        *** Failers
3768    No match
3769        xyab
3770    No match
3771    
3772    /(ab|(bc|(de|(?1))))/
3773    Failed: recursive call could loop indefinitely at offset 15
3774    
3775    /x(ab|(bc|(de|(?1)x)x)x)/
3776    Failed: recursive call could loop indefinitely at offset 16
3777    
3778    /^([^()]|\((?1)*\))*$/
3779    Capturing subpattern count = 1
3780    Options: anchored
3781    No first char
3782    No need char
3783        abc
3784     0: abc
3785     1: c
3786        a(b)c
3787     0: a(b)c
3788     1: c
3789        a(b(c))d
3790     0: a(b(c))d
3791     1: d
3792        *** Failers)
3793    No match
3794        a(b(c)d
3795    No match
3796    
3797    /^>abc>([^()]|\((?1)*\))*<xyz<$/
3798    Capturing subpattern count = 1
3799    Options: anchored
3800    No first char
3801    Need char = '<'
3802       >abc>123<xyz<
3803     0: >abc>123<xyz<
3804     1: 3
3805       >abc>1(2)3<xyz<
3806     0: >abc>1(2)3<xyz<
3807     1: 3
3808       >abc>(1(2)3)<xyz<
3809     0: >abc>(1(2)3)<xyz<
3810     1: (1(2)3)
3811    
3812    /(a(?1)b)/D
3813    ------------------------------------------------------------------
3814      0  18 Bra 0
3815      3  12 Bra 1
3816      6   1 a
3817      9   3 Recurse
3818     12   1 b
3819     15  12 Ket
3820     18  18 Ket
3821     21     End
3822    ------------------------------------------------------------------
3823    Capturing subpattern count = 1
3824    No options
3825    First char = 'a'
3826    Need char = 'b'
3827    
3828    /(a(?1)+b)/D
3829    ------------------------------------------------------------------
3830      0  24 Bra 0
3831      3  18 Bra 1
3832      6   1 a
3833      9   6 Bra 0
3834     12   3 Recurse
3835     15   6 KetRmax
3836     18   1 b
3837     21  18 Ket
3838     24  24 Ket
3839     27     End
3840    ------------------------------------------------------------------
3841    Capturing subpattern count = 1
3842    No options
3843    First char = 'a'
3844    Need char = 'b'
3845    
3846    /^\W*(?:((.)\W*(?1)\W*\2|)|((.)\W*(?3)\W*\4|\W*.\W*))\W*$/i
3847    Capturing subpattern count = 4
3848    Max back reference = 4
3849    Options: anchored caseless
3850    No first char
3851    No need char
3852        1221
3853     0: 1221
3854     1: 1221
3855     2: 1
3856        Satan, oscillate my metallic sonatas!
3857     0: Satan, oscillate my metallic sonatas!
3858     1: <unset>
3859     2: <unset>
3860     3: Satan, oscillate my metallic sonatas
3861     4: S
3862        A man, a plan, a canal: Panama!
3863     0: A man, a plan, a canal: Panama!
3864     1: <unset>
3865     2: <unset>
3866     3: A man, a plan, a canal: Panama
3867     4: A
3868        Able was I ere I saw Elba.
3869     0: Able was I ere I saw Elba.
3870     1: <unset>
3871     2: <unset>
3872     3: Able was I ere I saw Elba
3873     4: A
3874        *** Failers
3875    No match
3876        The quick brown fox
3877    No match
3878    
3879    /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/
3880    Capturing subpattern count = 2
3881    Options: anchored
3882    No first char
3883    No need char
3884        12
3885     0: 12
3886     1: 12
3887        (((2+2)*-3)-7)
3888     0: (((2+2)*-3)-7)
3889     1: (((2+2)*-3)-7)
3890     2: -
3891        -12
3892     0: -12
3893     1: -12
3894        *** Failers
3895    No match
3896        ((2+2)*-3)-7)
3897    No match
3898    
3899    /^(x(y|(?1){2})z)/
3900    Capturing subpattern count = 2
3901    Options: anchored
3902    No first char
3903    No need char
3904        xyz
3905     0: xyz
3906     1: xyz
3907     2: y
3908        xxyzxyzz
3909     0: xxyzxyzz
3910     1: xxyzxyzz
3911     2: xyzxyz
3912        *** Failers
3913    No match
3914        xxyzz
3915    No match
3916        xxyzxyzxyzz
3917    No match
3918    
3919    /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/x
3920    Capturing subpattern count = 2
3921    Options: extended
3922    First char = '<'
3923    Need char = '>'
3924        <>
3925     0: <>
3926     1: <>
3927     2: <>
3928        <abcd>
3929     0: <abcd>
3930     1: <abcd>
3931     2: <abcd>
3932        <abc <123> hij>
3933     0: <abc <123> hij>
3934     1: <abc <123> hij>
3935     2: <abc <123> hij>
3936        <abc <def> hij>
3937     0: <def>
3938     1: <def>
3939     2: <def>
3940        <abc<>def>
3941     0: <abc<>def>
3942     1: <abc<>def>
3943     2: <abc<>def>
3944        <abc<>
3945     0: <>
3946     1: <>
3947     2: <>
3948        *** Failers
3949    No match
3950        <abc
3951    No match
3952    
3953    /(?1)/
3954    Failed: reference to non-existent subpattern at offset 3
3955    
3956    /((?2)(abc)/
3957    Failed: reference to non-existent subpattern at offset 4
3958    
3959    /^(abc)def(?1)/
3960    Capturing subpattern count = 1
3961    Options: anchored
3962    No first char
3963    No need char
3964        abcdefabc
3965     0: abcdefabc
3966     1: abc
3967    
3968    /^(a|b|c)=(?1)+/
3969    Capturing subpattern count = 1
3970    Options: anchored
3971    No first char
3972    No need char
3973        a=a
3974     0: a=a
3975     1: a
3976        a=b
3977     0: a=b
3978     1: a
3979        a=bc
3980     0: a=bc
3981     1: a
3982    
3983    /^(a|b|c)=((?1))+/
3984    Capturing subpattern count = 2
3985    Options: anchored
3986    No first char
3987    No need char
3988        a=a
3989     0: a=a
3990     1: a
3991     2: a
3992        a=b
3993     0: a=b
3994     1: a
3995     2: b
3996        a=bc
3997     0: a=bc
3998     1: a
3999     2: c
4000    
4001    /a(?P<name1>b|c)d(?P<longername2>e)/D
4002    ------------------------------------------------------------------
4003      0  33 Bra 0
4004      3   1 a
4005      6   6 Bra 1
4006      9   1 b
4007     12   6 Alt
4008     15   1 c
4009     18  12 Ket
4010     21   1 d
4011     24   6 Bra 2
4012     27   1 e
4013     30   6 Ket
4014     33  33 Ket
4015     36     End
4016    ------------------------------------------------------------------
4017    Capturing subpattern count = 2
4018    Named capturing subpatterns:
4019      longername2   2
4020      name1         1
4021    No options
4022    First char = 'a'
4023    Need char = 'e'
4024        abde
4025     0: abde
4026     1: b
4027     2: e
4028        acde
4029     0: acde
4030     1: c
4031     2: e
4032    
4033    /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/D
4034    ------------------------------------------------------------------
4035      0  39 Bra 0
4036      3  24 Bra 0
4037      6   1 a
4038      9  15 Bra 1
4039     12   1 c
4040     15   6 Bra 2
4041     18   1 d
4042     21   6 Ket
4043     24  15 Ket
4044     27  24 Ket
4045     30   6 Bra 3
4046     33   1 a
4047     36   6 Ket
4048     39  39 Ket
4049     42     End
4050    ------------------------------------------------------------------
4051    Capturing subpattern count = 3
4052    Named capturing subpatterns:
4053      a   3
4054      c   1
4055      d   2
4056    No options
4057    First char = 'a'
4058    Need char = 'a'
4059    
4060    /(?P<a>a)...(?P=a)bbb(?P>a)d/D
4061    ------------------------------------------------------------------
4062      0  29 Bra 0
4063      3   6 Bra 1
4064      6   1 a
4065      9   6 Ket
4066     12     Any
4067     13     Any
4068     14     Any
4069     15     \1
4070     18   3 bbb
4071     23   3 Recurse
4072     26   1 d
4073     29  29 Ket
4074     32     End
4075    ------------------------------------------------------------------
4076    Capturing subpattern count = 1
4077    Max back reference = 1
4078    Named capturing subpatterns:
4079      a   1
4080    No options
4081    First char = 'a'
4082    Need char = 'd'
4083    
4084    /^\W*(?:(?P<one>(?P<two>.)\W*(?P>one)\W*(?P=two)|)|(?P<three>(?P<four>.)\W*(?P>three)\W*(?P=four)|\W*.\W*))\W*$/i
4085    Capturing subpattern count = 4
4086    Max back reference = 4
4087    Named capturing subpatterns:
4088      four    4
4089      one     1
4090      three   3
4091      two     2
4092    Options: anchored caseless
4093    No first char
4094    No need char
4095        1221
4096     0: 1221
4097     1: 1221
4098     2: 1
4099        Satan, oscillate my metallic sonatas!
4100     0: Satan, oscillate my metallic sonatas!
4101     1: <unset>
4102     2: <unset>
4103     3: Satan, oscillate my metallic sonatas
4104     4: S
4105        A man, a plan, a canal: Panama!
4106     0: A man, a plan, a canal: Panama!
4107     1: <unset>
4108     2: <unset>
4109     3: A man, a plan, a canal: Panama
4110     4: A
4111        Able was I ere I saw Elba.
4112     0: Able was I ere I saw Elba.
4113     1: <unset>
4114     2: <unset>
4115     3: Able was I ere I saw Elba
4116     4: A
4117        *** Failers
4118    No match
4119        The quick brown fox
4120    No match
4121    
4122    /((?(R)a|b))\1(?1)?/
4123    Capturing subpattern count = 1
4124    Max back reference = 1
4125    No options
4126    No first char
4127    No need char
4128      bb
4129     0: bb
4130     1: b
4131      bbaa
4132     0: bba
4133     1: b
4134    
4135    /(.*)a/sI
4136    Capturing subpattern count = 1
4137    Options: anchored dotall
4138    No first char
4139    Need char = 'a'
4140    
4141    /(.*)a\1/sI
4142    Capturing subpattern count = 1
4143    Max back reference = 1
4144    Options: dotall
4145    No first char
4146    Need char = 'a'
4147    
4148    /(.*)a(b)\2/sI
4149    Capturing subpattern count = 2
4150    Max back reference = 2
4151    Options: anchored dotall
4152    No first char
4153    Need char = 'b'
4154    
4155    /((.*)a|(.*)b)z/sI
4156    Capturing subpattern count = 3
4157    Options: anchored dotall
4158    No first char
4159    Need char = 'z'
4160    
4161    /((.*)a|(.*)b)z\1/sI
4162    Capturing subpattern count = 3
4163    Max back reference = 1
4164    Options: dotall
4165    No first char
4166    Need char = 'z'
4167    
4168    /((.*)a|(.*)b)z\2/sI
4169    Capturing subpattern count = 3
4170    Max back reference = 2
4171    Options: dotall
4172    No first char
4173    Need char = 'z'
4174    
4175    /((.*)a|(.*)b)z\3/sI
4176    Capturing subpattern count = 3
4177    Max back reference = 3
4178    Options: dotall
4179    No first char
4180    Need char = 'z'
4181    
4182    /((.*)a|^(.*)b)z\3/sI
4183    Capturing subpattern count = 3
4184    Max back reference = 3
4185    Options: anchored dotall
4186    No first char
4187    Need char = 'z'
4188    
4189    /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/sI
4190    Capturing subpattern count = 31
4191    Options: anchored dotall
4192    No first char
4193    No need char
4194    
4195    /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/sI
4196    Capturing subpattern count = 31
4197    Max back reference = 31
4198    Options: dotall
4199    No first char
4200    No need char
4201    
4202    /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/sI
4203    Capturing subpattern count = 32
4204    Max back reference = 32
4205    Options: dotall
4206    No first char
4207    No need char
4208    
4209    /(a)(bc)/ND
4210    ------------------------------------------------------------------
4211      0  22 Bra 0
4212      3   6 Bra 0
4213      6   1 a
4214      9   6 Ket
4215     12   7 Bra 0
4216     15   2 bc
4217     19   7 Ket
4218     22  22 Ket
4219     25     End
4220    ------------------------------------------------------------------
4221    Capturing subpattern count = 0
4222    Options:
4223    First char = 'a'
4224    Need char = 'c'
4225      abc
4226     0: abc
4227    
4228    /(?P<one>a)(bc)/ND
4229    ------------------------------------------------------------------
4230      0  22 Bra 0
4231      3   6 Bra 1
4232      6   1 a
4233      9   6 Ket
4234     12   7 Bra 0
4235     15   2 bc
4236     19   7 Ket
4237     22  22 Ket
4238     25     End
4239    ------------------------------------------------------------------
4240    Capturing subpattern count = 1
4241    Named capturing subpatterns:
4242      one   1
4243    Options:
4244    First char = 'a'
4245    Need char = 'c'
4246      abc
4247     0: abc
4248     1: a
4249    
4250    /(a)(?P<named>bc)/ND
4251    ------------------------------------------------------------------
4252      0  22 Bra 0
4253      3   6 Bra 0
4254      6   1 a
4255      9   6 Ket
4256     12   7 Bra 1
4257     15   2 bc
4258     19   7 Ket
4259     22  22 Ket
4260     25     End
4261    ------------------------------------------------------------------
4262    Capturing subpattern count = 1
4263    Named capturing subpatterns:
4264      named   1
4265    Options:
4266    First char = 'a'
4267    Need char = 'c'
4268    
4269    /(a+)*zz/
4270    Capturing subpattern count = 1
4271    No options
4272    No first char
4273    Need char = 'z'
4274      aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\M
4275    Minimum match limit = 8
4276     0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazz
4277     1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
4278      aaaaaaaaaaaaaz\M
4279    Minimum match limit = 32768
4280    No match
4281    
4282    /(aaa(?C1)bbb|ab)/
4283    Capturing subpattern count = 1
4284    No options
4285    First char = 'a'
4286    Need char = 'b'
4287       aaabbb
4288    --->aaabbb
4289      1 ^  ^
4290     0: aaabbb
4291     1: aaabbb
4292       aaabbb\C*0
4293    --->aaabbb
4294      1 ^  ^
4295     0: aaabbb
4296     1: aaabbb
4297       aaabbb\C*1
4298    --->aaabbb
4299      1 ^  ^
4300    Callout data = 1
4301     0: ab
4302     1: ab
4303       aaabbb\C*-1
4304    --->aaabbb
4305      1 ^  ^
4306    Callout data = -1
4307    No match
4308    
4309    /ab(?P<one>cd)ef(?P<two>gh)/
4310    Capturing subpattern count = 2
4311    Named capturing subpatterns:
4312      one   1
4313      two   2
4314    No options
4315    First char = 'a'
4316    Need char = 'h'
4317        abcdefgh
4318     0: abcdefgh
4319     1: cd
4320     2: gh
4321        abcdefgh\C1\Gtwo
4322     0: abcdefgh
4323     1: cd
4324     2: gh
4325     1C cd (2)
4326     2G gh (2)
4327        abcdefgh\Cone\Ctwo
4328     0: abcdefgh
4329     1: cd
4330     2: gh
4331     1C cd (2)
4332     2C gh (2)
4333        abcdefgh\Cthree
4334    no parentheses with name "three"
4335     0: abcdefgh
4336     1: cd
4337     2: gh
4338    
4339    /(?P<Tes>)(?P<Test>)/D
4340    ------------------------------------------------------------------
4341      0  15 Bra 0
4342      3   3 Bra 1
4343      6   3 Ket
4344      9   3 Bra 2
4345     12   3 Ket
4346     15  15 Ket
4347     18     End
4348    ------------------------------------------------------------------
4349    Capturing subpattern count = 2
4350    Named capturing subpatterns:
4351      Tes    1
4352      Test   2
4353    No options
4354    No first char
4355    No need char
4356    
4357    /(?P<Test>)(?P<Tes>)/D
4358    ------------------------------------------------------------------
4359      0  15 Bra 0
4360      3   3 Bra 1
4361      6   3 Ket
4362      9   3 Bra 2
4363     12   3 Ket
4364     15  15 Ket
4365     18     End
4366    ------------------------------------------------------------------
4367    Capturing subpattern count = 2
4368    Named capturing subpatterns:
4369      Tes    2
4370      Test   1
4371    No options
4372    No first char
4373    No need char
4374    
4375    /(?P<Z>zz)(?P<A>aa)/
4376    Capturing subpattern count = 2
4377    Named capturing subpatterns:
4378      A   2
4379      Z   1
4380    No options
4381    First char = 'z'
4382    Need char = 'a'
4383        zzaa\CZ
4384     0: zzaa
4385     1: zz
4386     2: aa
4387     1C zz (2)
4388        zzaa\CA
4389     0: zzaa
4390     1: zz
4391     2: aa
4392     2C aa (2)
4393    
4394    /(?P<x>eks)(?P<x>eccs)/
4395    Failed: two named groups have the same name at offset 16
4396    
4397    /(?P<abc>abc(?P<def>def)(?P<abc>xyz))/
4398    Failed: two named groups have the same name at offset 31
4399    
4400    / End of testinput2 /
4401  Capturing subpattern count = 0  Capturing subpattern count = 0
4402  No options  No options
4403  First char = ' '  First char = ' '

Legend:
Removed from v.47  
changed lines
  Added in v.71

  ViewVC Help
Powered by ViewVC 1.1.5