new upstream release (3.3.0); modify package compatibility for Stretch
[ossec-hids.git] / src / external / pcre2-10.32 / testdata / testoutput8-8-3
1 # There are two sorts of patterns in this test. A number of them are
2 # representative patterns whose lengths and offsets are checked. This is just a
3 # doublecheck test to ensure the sizes don't go horribly wrong when something
4 # is changed. The operation of these patterns is checked in other tests.
5 #
6 # This file also contains tests whose output varies with code unit size and/or
7 # link size. Unicode support is required for these tests. There are separate
8 # output files for each code unit size and link size.
9
10 #pattern fullbincode,memory
11
12 /((?i)b)/
13 Memory allocation (code space): 21
14 ------------------------------------------------------------------
15   0  16 Bra
16   4   8 CBra 1
17  10  /i b
18  12   8 Ket
19  16  16 Ket
20  20     End
21 ------------------------------------------------------------------
22
23 /(?s)(.*X|^B)/
24 Memory allocation (code space): 30
25 ------------------------------------------------------------------
26   0  25 Bra
27   4  10 CBra 1
28  10     AllAny*
29  12     X
30  14   7 Alt
31  18     ^
32  19     B
33  21  17 Ket
34  25  25 Ket
35  29     End
36 ------------------------------------------------------------------
37
38 /(?s:.*X|^B)/
39 Memory allocation (code space): 28
40 ------------------------------------------------------------------
41   0  23 Bra
42   4   8 Bra
43   8     AllAny*
44  10     X
45  12   7 Alt
46  16     ^
47  17     B
48  19  15 Ket
49  23  23 Ket
50  27     End
51 ------------------------------------------------------------------
52
53 /^[[:alnum:]]/
54 Memory allocation (code space): 43
55 ------------------------------------------------------------------
56   0  38 Bra
57   4     ^
58   5     [0-9A-Za-z]
59  38  38 Ket
60  42     End
61 ------------------------------------------------------------------
62
63 /#/Ix
64 Memory allocation (code space): 9
65 ------------------------------------------------------------------
66   0   4 Bra
67   4   4 Ket
68   8     End
69 ------------------------------------------------------------------
70 Capturing subpattern count = 0
71 May match empty string
72 Options: extended
73 Subject length lower bound = 0
74
75 /a#/Ix
76 Memory allocation (code space): 11
77 ------------------------------------------------------------------
78   0   6 Bra
79   4     a
80   6   6 Ket
81  10     End
82 ------------------------------------------------------------------
83 Capturing subpattern count = 0
84 Options: extended
85 First code unit = 'a'
86 Subject length lower bound = 1
87
88 /x?+/
89 Memory allocation (code space): 11
90 ------------------------------------------------------------------
91   0   6 Bra
92   4     x?+
93   6   6 Ket
94  10     End
95 ------------------------------------------------------------------
96
97 /x++/
98 Memory allocation (code space): 11
99 ------------------------------------------------------------------
100   0   6 Bra
101   4     x++
102   6   6 Ket
103  10     End
104 ------------------------------------------------------------------
105
106 /x{1,3}+/
107 Memory allocation (code space): 15
108 ------------------------------------------------------------------
109   0  10 Bra
110   4     x
111   6     x{0,2}+
112  10  10 Ket
113  14     End
114 ------------------------------------------------------------------
115
116 /(x)*+/
117 Memory allocation (code space): 22
118 ------------------------------------------------------------------
119   0  17 Bra
120   4     Braposzero
121   5   8 CBraPos 1
122  11     x
123  13   8 KetRpos
124  17  17 Ket
125  21     End
126 ------------------------------------------------------------------
127
128 /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/
129 Memory allocation (code space): 132
130 ------------------------------------------------------------------
131   0 127 Bra
132   4     ^
133   5 118 CBra 1
134  11   8 CBra 2
135  17     a+
136  19   8 Ket
137  23  40 CBra 3
138  29     [ab]+?
139  63  40 Ket
140  67  40 CBra 4
141  73     [bc]+
142 107  40 Ket
143 111   8 CBra 5
144 117     \w*+
145 119   8 Ket
146 123 118 Ket
147 127 127 Ket
148 131     End
149 ------------------------------------------------------------------
150
151 "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"
152 Memory allocation (code space): 828
153 ------------------------------------------------------------------
154   0 823 Bra
155   4     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
156 822     \b
157 823 823 Ket
158 827     End
159 ------------------------------------------------------------------
160
161 "\$\<\.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"
162 Memory allocation (code space): 818
163 ------------------------------------------------------------------
164   0 813 Bra
165   4     $<.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
166 812     \b
167 813 813 Ket
168 817     End
169 ------------------------------------------------------------------
170
171 /(a(?1)b)/
172 Memory allocation (code space): 27
173 ------------------------------------------------------------------
174   0  22 Bra
175   4  14 CBra 1
176  10     a
177  12   4 Recurse
178  16     b
179  18  14 Ket
180  22  22 Ket
181  26     End
182 ------------------------------------------------------------------
183
184 /(a(?1)+b)/
185 Memory allocation (code space): 35
186 ------------------------------------------------------------------
187   0  30 Bra
188   4  22 CBra 1
189  10     a
190  12   8 SBra
191  16   4 Recurse
192  20   8 KetRmax
193  24     b
194  26  22 Ket
195  30  30 Ket
196  34     End
197 ------------------------------------------------------------------
198
199 /a(?P<name1>b|c)d(?P<longername2>e)/
200 Memory allocation (code space): 43
201 ------------------------------------------------------------------
202   0  38 Bra
203   4     a
204   6   8 CBra 1
205  12     b
206  14   6 Alt
207  18     c
208  20  14 Ket
209  24     d
210  26   8 CBra 2
211  32     e
212  34   8 Ket
213  38  38 Ket
214  42     End
215 ------------------------------------------------------------------
216
217 /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/
218 Memory allocation (code space): 55
219 ------------------------------------------------------------------
220   0  50 Bra
221   4  30 Bra
222   8     a
223  10  20 CBra 1
224  16     c
225  18   8 CBra 2
226  24     d
227  26   8 Ket
228  30  20 Ket
229  34  30 Ket
230  38   8 CBra 3
231  44     a
232  46   8 Ket
233  50  50 Ket
234  54     End
235 ------------------------------------------------------------------
236
237 /(?P<a>a)...(?P=a)bbb(?P>a)d/
238 Memory allocation (code space): 39
239 ------------------------------------------------------------------
240   0  34 Bra
241   4   8 CBra 1
242  10     a
243  12   8 Ket
244  16     Any
245  17     Any
246  18     Any
247  19     \1
248  22     bbb
249  28   4 Recurse
250  32     d
251  34  34 Ket
252  38     End
253 ------------------------------------------------------------------
254
255 /abc(?C255)de(?C)f/
256 Memory allocation (code space): 37
257 ------------------------------------------------------------------
258   0  32 Bra
259   4     abc
260  10     Callout 255 10 1
261  18     de
262  22     Callout 0 16 1
263  30     f
264  32  32 Ket
265  36     End
266 ------------------------------------------------------------------
267
268 /abcde/auto_callout
269 Memory allocation (code space): 67
270 ------------------------------------------------------------------
271   0  62 Bra
272   4     Callout 255 0 1
273  12     a
274  14     Callout 255 1 1
275  22     b
276  24     Callout 255 2 1
277  32     c
278  34     Callout 255 3 1
279  42     d
280  44     Callout 255 4 1
281  52     e
282  54     Callout 255 5 0
283  62  62 Ket
284  66     End
285 ------------------------------------------------------------------
286
287 /\x{100}/utf
288 Memory allocation (code space): 12
289 ------------------------------------------------------------------
290   0   7 Bra
291   4     \x{100}
292   7   7 Ket
293  11     End
294 ------------------------------------------------------------------
295
296 /\x{1000}/utf
297 Memory allocation (code space): 13
298 ------------------------------------------------------------------
299   0   8 Bra
300   4     \x{1000}
301   8   8 Ket
302  12     End
303 ------------------------------------------------------------------
304
305 /\x{10000}/utf
306 Memory allocation (code space): 14
307 ------------------------------------------------------------------
308   0   9 Bra
309   4     \x{10000}
310   9   9 Ket
311  13     End
312 ------------------------------------------------------------------
313
314 /\x{100000}/utf
315 Memory allocation (code space): 14
316 ------------------------------------------------------------------
317   0   9 Bra
318   4     \x{100000}
319   9   9 Ket
320  13     End
321 ------------------------------------------------------------------
322
323 /\x{10ffff}/utf
324 Memory allocation (code space): 14
325 ------------------------------------------------------------------
326   0   9 Bra
327   4     \x{10ffff}
328   9   9 Ket
329  13     End
330 ------------------------------------------------------------------
331
332 /\x{110000}/utf
333 Failed: error 134 at offset 9: character code point value in \x{} or \o{} is too large
334
335 /[\x{ff}]/utf
336 Memory allocation (code space): 12
337 ------------------------------------------------------------------
338   0   7 Bra
339   4     \x{ff}
340   7   7 Ket
341  11     End
342 ------------------------------------------------------------------
343
344 /[\x{100}]/utf
345 Memory allocation (code space): 12
346 ------------------------------------------------------------------
347   0   7 Bra
348   4     \x{100}
349   7   7 Ket
350  11     End
351 ------------------------------------------------------------------
352
353 /\x80/utf
354 Memory allocation (code space): 12
355 ------------------------------------------------------------------
356   0   7 Bra
357   4     \x{80}
358   7   7 Ket
359  11     End
360 ------------------------------------------------------------------
361
362 /\xff/utf
363 Memory allocation (code space): 12
364 ------------------------------------------------------------------
365   0   7 Bra
366   4     \x{ff}
367   7   7 Ket
368  11     End
369 ------------------------------------------------------------------
370
371 /\x{0041}\x{2262}\x{0391}\x{002e}/I,utf
372 Memory allocation (code space): 20
373 ------------------------------------------------------------------
374   0  15 Bra
375   4     A\x{2262}\x{391}.
376  15  15 Ket
377  19     End
378 ------------------------------------------------------------------
379 Capturing subpattern count = 0
380 Options: utf
381 First code unit = 'A'
382 Last code unit = '.'
383 Subject length lower bound = 4
384
385 /\x{D55c}\x{ad6d}\x{C5B4}/I,utf
386 Memory allocation (code space): 21
387 ------------------------------------------------------------------
388   0  16 Bra
389   4     \x{d55c}\x{ad6d}\x{c5b4}
390  16  16 Ket
391  20     End
392 ------------------------------------------------------------------
393 Capturing subpattern count = 0
394 Options: utf
395 First code unit = \xed
396 Last code unit = \xb4
397 Subject length lower bound = 3
398
399 /\x{65e5}\x{672c}\x{8a9e}/I,utf
400 Memory allocation (code space): 21
401 ------------------------------------------------------------------
402   0  16 Bra
403   4     \x{65e5}\x{672c}\x{8a9e}
404  16  16 Ket
405  20     End
406 ------------------------------------------------------------------
407 Capturing subpattern count = 0
408 Options: utf
409 First code unit = \xe6
410 Last code unit = \x9e
411 Subject length lower bound = 3
412
413 /[\x{100}]/utf
414 Memory allocation (code space): 12
415 ------------------------------------------------------------------
416   0   7 Bra
417   4     \x{100}
418   7   7 Ket
419  11     End
420 ------------------------------------------------------------------
421
422 /[Z\x{100}]/utf
423 Memory allocation (code space): 50
424 ------------------------------------------------------------------
425   0  45 Bra
426   4     [Z\x{100}]
427  45  45 Ket
428  49     End
429 ------------------------------------------------------------------
430
431 /^[\x{100}\E-\Q\E\x{150}]/utf
432 Memory allocation (code space): 21
433 ------------------------------------------------------------------
434   0  16 Bra
435   4     ^
436   5     [\x{100}-\x{150}]
437  16  16 Ket
438  20     End
439 ------------------------------------------------------------------
440
441 /^[\QĀ\E-\QŐ\E]/utf
442 Memory allocation (code space): 21
443 ------------------------------------------------------------------
444   0  16 Bra
445   4     ^
446   5     [\x{100}-\x{150}]
447  16  16 Ket
448  20     End
449 ------------------------------------------------------------------
450
451 /^[\QĀ\E-\QŐ\E/utf
452 Failed: error 106 at offset 15: missing terminating ] for character class
453
454 /[\p{L}]/
455 Memory allocation (code space): 18
456 ------------------------------------------------------------------
457   0  13 Bra
458   4     [\p{L}]
459  13  13 Ket
460  17     End
461 ------------------------------------------------------------------
462
463 /[\p{^L}]/
464 Memory allocation (code space): 18
465 ------------------------------------------------------------------
466   0  13 Bra
467   4     [\P{L}]
468  13  13 Ket
469  17     End
470 ------------------------------------------------------------------
471
472 /[\P{L}]/
473 Memory allocation (code space): 18
474 ------------------------------------------------------------------
475   0  13 Bra
476   4     [\P{L}]
477  13  13 Ket
478  17     End
479 ------------------------------------------------------------------
480
481 /[\P{^L}]/
482 Memory allocation (code space): 18
483 ------------------------------------------------------------------
484   0  13 Bra
485   4     [\p{L}]
486  13  13 Ket
487  17     End
488 ------------------------------------------------------------------
489
490 /[abc\p{L}\x{0660}]/utf
491 Memory allocation (code space): 53
492 ------------------------------------------------------------------
493   0  48 Bra
494   4     [a-c\p{L}\x{660}]
495  48  48 Ket
496  52     End
497 ------------------------------------------------------------------
498
499 /[\p{Nd}]/utf
500 Memory allocation (code space): 18
501 ------------------------------------------------------------------
502   0  13 Bra
503   4     [\p{Nd}]
504  13  13 Ket
505  17     End
506 ------------------------------------------------------------------
507
508 /[\p{Nd}+-]+/utf
509 Memory allocation (code space): 51
510 ------------------------------------------------------------------
511   0  46 Bra
512   4     [+\-\p{Nd}]++
513  46  46 Ket
514  50     End
515 ------------------------------------------------------------------
516
517 /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/i,utf
518 Memory allocation (code space): 27
519 ------------------------------------------------------------------
520   0  22 Bra
521   4  /i A\x{391}\x{10427}\x{ff3a}\x{1fb0}
522  22  22 Ket
523  26     End
524 ------------------------------------------------------------------
525
526 /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/utf
527 Memory allocation (code space): 27
528 ------------------------------------------------------------------
529   0  22 Bra
530   4     A\x{391}\x{10427}\x{ff3a}\x{1fb0}
531  22  22 Ket
532  26     End
533 ------------------------------------------------------------------
534
535 /[\x{105}-\x{109}]/i,utf
536 Memory allocation (code space): 20
537 ------------------------------------------------------------------
538   0  15 Bra
539   4     [\x{104}-\x{109}]
540  15  15 Ket
541  19     End
542 ------------------------------------------------------------------
543
544 /( ( (?(1)0|) )*   )/x
545 Memory allocation (code space): 47
546 ------------------------------------------------------------------
547   0  42 Bra
548   4  34 CBra 1
549  10     Brazero
550  11  23 SCBra 2
551  17   9 Cond
552  21   1 Cond ref
553  24     0
554  26   4 Alt
555  30  13 Ket
556  34  23 KetRmax
557  38  34 Ket
558  42  42 Ket
559  46     End
560 ------------------------------------------------------------------
561
562 /(  (?(1)0|)*   )/x
563 Memory allocation (code space): 37
564 ------------------------------------------------------------------
565   0  32 Bra
566   4  24 CBra 1
567  10     Brazero
568  11   9 SCond
569  15   1 Cond ref
570  18     0
571  20   4 Alt
572  24  13 KetRmax
573  28  24 Ket
574  32  32 Ket
575  36     End
576 ------------------------------------------------------------------
577
578 /[a]/
579 Memory allocation (code space): 11
580 ------------------------------------------------------------------
581   0   6 Bra
582   4     a
583   6   6 Ket
584  10     End
585 ------------------------------------------------------------------
586
587 /[a]/utf
588 Memory allocation (code space): 11
589 ------------------------------------------------------------------
590   0   6 Bra
591   4     a
592   6   6 Ket
593  10     End
594 ------------------------------------------------------------------
595
596 /[\xaa]/
597 Memory allocation (code space): 11
598 ------------------------------------------------------------------
599   0   6 Bra
600   4     \x{aa}
601   6   6 Ket
602  10     End
603 ------------------------------------------------------------------
604
605 /[\xaa]/utf
606 Memory allocation (code space): 12
607 ------------------------------------------------------------------
608   0   7 Bra
609   4     \x{aa}
610   7   7 Ket
611  11     End
612 ------------------------------------------------------------------
613
614 /[^a]/
615 Memory allocation (code space): 11
616 ------------------------------------------------------------------
617   0   6 Bra
618   4     [^a]
619   6   6 Ket
620  10     End
621 ------------------------------------------------------------------
622
623 /[^a]/utf
624 Memory allocation (code space): 11
625 ------------------------------------------------------------------
626   0   6 Bra
627   4     [^a]
628   6   6 Ket
629  10     End
630 ------------------------------------------------------------------
631
632 /[^\xaa]/
633 Memory allocation (code space): 11
634 ------------------------------------------------------------------
635   0   6 Bra
636   4     [^\x{aa}]
637   6   6 Ket
638  10     End
639 ------------------------------------------------------------------
640
641 /[^\xaa]/utf
642 Memory allocation (code space): 12
643 ------------------------------------------------------------------
644   0   7 Bra
645   4     [^\x{aa}]
646   7   7 Ket
647  11     End
648 ------------------------------------------------------------------
649
650 #pattern -memory
651
652 /[^\d]/utf,ucp
653 ------------------------------------------------------------------
654   0  13 Bra
655   4     [^\p{Nd}]
656  13  13 Ket
657  17     End
658 ------------------------------------------------------------------
659
660 /[[:^alpha:][:^cntrl:]]+/utf,ucp
661 ------------------------------------------------------------------
662   0  17 Bra
663   4     [\P{L}\P{Cc}]++
664  17  17 Ket
665  21     End
666 ------------------------------------------------------------------
667
668 /[[:^cntrl:][:^alpha:]]+/utf,ucp
669 ------------------------------------------------------------------
670   0  17 Bra
671   4     [\P{Cc}\P{L}]++
672  17  17 Ket
673  21     End
674 ------------------------------------------------------------------
675
676 /[[:alpha:]]+/utf,ucp
677 ------------------------------------------------------------------
678   0  14 Bra
679   4     [\p{L}]++
680  14  14 Ket
681  18     End
682 ------------------------------------------------------------------
683
684 /[[:^alpha:]\S]+/utf,ucp
685 ------------------------------------------------------------------
686   0  17 Bra
687   4     [\P{L}\P{Xsp}]++
688  17  17 Ket
689  21     End
690 ------------------------------------------------------------------
691
692 /abc(d|e)(*THEN)x(123(*THEN)4|567(b|q)(*THEN)xx)/
693 ------------------------------------------------------------------
694   0  83 Bra
695   4     abc
696  10   8 CBra 1
697  16     d
698  18   6 Alt
699  22     e
700  24  14 Ket
701  28     *THEN
702  29     x
703  31  15 CBra 2
704  37     123
705  43     *THEN
706  44     4
707  46  33 Alt
708  50     567
709  56   8 CBra 3
710  62     b
711  64   6 Alt
712  68     q
713  70  14 Ket
714  74     *THEN
715  75     xx
716  79  48 Ket
717  83  83 Ket
718  87     End
719 ------------------------------------------------------------------
720
721 /(((a\2)|(a*)\g<-1>))*a?/
722 ------------------------------------------------------------------
723   0  70 Bra
724   4     Brazero
725   5  59 SCBra 1
726  11  49 Once
727  15  21 CBra 2
728  21  11 CBra 3
729  27     a
730  29     \2
731  32  11 Ket
732  36  20 Alt
733  40   8 CBra 4
734  46     a*
735  48   8 Ket
736  52  40 Recurse
737  56  41 Ket
738  60  49 Ket
739  64  59 KetRmax
740  68     a?+
741  70  70 Ket
742  74     End
743 ------------------------------------------------------------------
744
745 /((?+1)(\1))/
746 ------------------------------------------------------------------
747   0  39 Bra
748   4  31 Once
749   8  23 CBra 1
750  14  18 Recurse
751  18   9 CBra 2
752  24     \1
753  27   9 Ket
754  31  23 Ket
755  35  31 Ket
756  39  39 Ket
757  43     End
758 ------------------------------------------------------------------
759
760 "(?1)(?#?'){2}(a)"
761 ------------------------------------------------------------------
762   0  24 Bra
763   4  12 Recurse
764   8  12 Recurse
765  12   8 CBra 1
766  18     a
767  20   8 Ket
768  24  24 Ket
769  28     End
770 ------------------------------------------------------------------
771
772 /.((?2)(?R)|\1|$)()/
773 ------------------------------------------------------------------
774   0  53 Bra
775   4     Any
776   5  34 Once
777   9  14 CBra 1
778  15  43 Recurse
779  19   0 Recurse
780  23   7 Alt
781  27     \1
782  30   5 Alt
783  34     $
784  35  26 Ket
785  39  34 Ket
786  43   6 CBra 2
787  49   6 Ket
788  53  53 Ket
789  57     End
790 ------------------------------------------------------------------
791
792 /.((?3)(?R)()(?2)|\1|$)()/
793 ------------------------------------------------------------------
794   0  67 Bra
795   4     Any
796   5  48 Once
797   9  28 CBra 1
798  15  57 Recurse
799  19   0 Recurse
800  23   6 CBra 2
801  29   6 Ket
802  33  23 Recurse
803  37   7 Alt
804  41     \1
805  44   5 Alt
806  48     $
807  49  40 Ket
808  53  48 Ket
809  57   6 CBra 3
810  63   6 Ket
811  67  67 Ket
812  71     End
813 ------------------------------------------------------------------
814
815 /(?1)()((((((\1++))\x85)+)|))/
816 ------------------------------------------------------------------
817   0  96 Bra
818   4   8 Recurse
819   8   6 CBra 1
820  14   6 Ket
821  18  74 CBra 2
822  24  60 CBra 3
823  30  50 CBra 4
824  36  40 CBra 5
825  42  28 CBra 6
826  48  18 CBra 7
827  54   8 Once
828  58     \1+
829  62   8 Ket
830  66  18 Ket
831  70  28 Ket
832  74     \x{85}
833  76  40 KetRmax
834  80  50 Ket
835  84   4 Alt
836  88  64 Ket
837  92  74 Ket
838  96  96 Ket
839 100     End
840 ------------------------------------------------------------------
841
842 # Check the absolute limit on nesting (?| etc. This varies with code unit
843 # width because the workspace is a different number of bytes. It will fail
844 # with link size 2 in 8-bit and 16-bit but not in 32-bit.
845
846 /(?|(?|(?J:(?|(?x:(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|
847 )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
848 /parens_nest_limit=1000,-fullbincode
849
850 # Use "expand" to create some very long patterns with nested parentheses, in
851 # order to test workspace overflow. Again, this varies with code unit width,
852 # and even when it fails in two modes, the error offset differs. It also varies
853 # with link size - hence multiple tests with different values.
854
855 /(?'ABC'\[[bar](]{792}*THEN:\[A]{255}\[)]{793}/expand,-fullbincode,parens_nest_limit=1000
856
857 /(?'ABC'\[[bar](]{793}*THEN:\[A]{255}\[)]{794}/expand,-fullbincode,parens_nest_limit=1000
858
859 /(?'ABC'\[[bar](]{1793}*THEN:\[A]{255}\[)]{1794}/expand,-fullbincode,parens_nest_limit=2000
860 Failed: error 186 at offset 12820: regular expression is too complicated
861
862 /(?(1)(?1)){8,}+()/debug
863 ------------------------------------------------------------------
864   0 150 Bra
865   4 132 Once
866   8  11 Cond
867  12   1 Cond ref
868  15 140 Recurse
869  19  11 Ket
870  23  11 Cond
871  27   1 Cond ref
872  30 140 Recurse
873  34  11 Ket
874  38  11 Cond
875  42   1 Cond ref
876  45 140 Recurse
877  49  11 Ket
878  53  11 Cond
879  57   1 Cond ref
880  60 140 Recurse
881  64  11 Ket
882  68  11 Cond
883  72   1 Cond ref
884  75 140 Recurse
885  79  11 Ket
886  83  11 Cond
887  87   1 Cond ref
888  90 140 Recurse
889  94  11 Ket
890  98  11 Cond
891 102   1 Cond ref
892 105 140 Recurse
893 109  11 Ket
894 113  19 SBraPos
895 117  11 SCond
896 121   1 Cond ref
897 124 140 Recurse
898 128  11 Ket
899 132  19 KetRpos
900 136 132 Ket
901 140   6 CBra 1
902 146   6 Ket
903 150 150 Ket
904 154     End
905 ------------------------------------------------------------------
906 Capturing subpattern count = 1
907 Max back reference = 1
908 May match empty string
909 Subject length lower bound = 0
910     abcd
911  0: 
912  1: 
913
914 /(?(1)|a(?1)b){2,}+()/debug
915 ------------------------------------------------------------------
916   0  76 Bra
917   4  58 Once
918   8   7 Cond
919  12   1 Cond ref
920  15  12 Alt
921  19     a
922  21  66 Recurse
923  25     b
924  27  19 Ket
925  31  27 SBraPos
926  35   7 SCond
927  39   1 Cond ref
928  42  12 Alt
929  46     a
930  48  66 Recurse
931  52     b
932  54  19 Ket
933  58  27 KetRpos
934  62  58 Ket
935  66   6 CBra 1
936  72   6 Ket
937  76  76 Ket
938  80     End
939 ------------------------------------------------------------------
940 Capturing subpattern count = 1
941 Max back reference = 1
942 May match empty string
943 Subject length lower bound = 0
944     abcde
945 No match
946
947 /((?1)(?2)(?3)(?4)(?5)(?6)(?7)(?8)(?9)(?9)(?8)(?7)(?6)(?5)(?4)(?3)(?2)(?1)(?0)){2,}()()()()()()()()()/debug
948 ------------------------------------------------------------------
949   0 266 Bra
950   4  82 CBra 1
951  10   4 Recurse
952  14 176 Recurse
953  18 186 Recurse
954  22 196 Recurse
955  26 206 Recurse
956  30 216 Recurse
957  34 226 Recurse
958  38 236 Recurse
959  42 246 Recurse
960  46 246 Recurse
961  50 236 Recurse
962  54 226 Recurse
963  58 216 Recurse
964  62 206 Recurse
965  66 196 Recurse
966  70 186 Recurse
967  74 176 Recurse
968  78   4 Recurse
969  82   0 Recurse
970  86  82 Ket
971  90  82 SCBra 1
972  96   4 Recurse
973 100 176 Recurse
974 104 186 Recurse
975 108 196 Recurse
976 112 206 Recurse
977 116 216 Recurse
978 120 226 Recurse
979 124 236 Recurse
980 128 246 Recurse
981 132 246 Recurse
982 136 236 Recurse
983 140 226 Recurse
984 144 216 Recurse
985 148 206 Recurse
986 152 196 Recurse
987 156 186 Recurse
988 160 176 Recurse
989 164   4 Recurse
990 168   0 Recurse
991 172  82 KetRmax
992 176   6 CBra 2
993 182   6 Ket
994 186   6 CBra 3
995 192   6 Ket
996 196   6 CBra 4
997 202   6 Ket
998 206   6 CBra 5
999 212   6 Ket
1000 216   6 CBra 6
1001 222   6 Ket
1002 226   6 CBra 7
1003 232   6 Ket
1004 236   6 CBra 8
1005 242   6 Ket
1006 246   6 CBra 9
1007 252   6 Ket
1008 256   6 CBra 10
1009 262   6 Ket
1010 266 266 Ket
1011 270     End
1012 ------------------------------------------------------------------
1013 Capturing subpattern count = 10
1014 May match empty string
1015 Subject length lower bound = 0
1016
1017 /([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)/
1018 Failed: error 114 at offset 509: missing closing parenthesis
1019
1020 /([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))/-fullbincode
1021
1022 # End of testinput8