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