• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/-- These are a few representative patterns whose lengths and offsets are to be
2shown when the link size is 2. This is just a doublecheck test to ensure the
3sizes don't go horribly wrong when something is changed. The pattern contents
4are all themselves checked in other tests. Unicode, including property support,
5is required for these tests. --/
6
7/((?i)b)/BM
8Memory allocation (code space): 21
9------------------------------------------------------------------
10  0  17 Bra
11  3   9 CBra 1
12  8  01 Opt
13 10  NC b
14 12   9 Ket
15 15  00 Opt
16 17  17 Ket
17 20     End
18------------------------------------------------------------------
19
20/(?s)(.*X|^B)/BM
21Memory allocation (code space): 25
22------------------------------------------------------------------
23  0  21 Bra
24  3   9 CBra 1
25  8     AllAny*
26 10     X
27 12   6 Alt
28 15     ^
29 16     B
30 18  15 Ket
31 21  21 Ket
32 24     End
33------------------------------------------------------------------
34
35/(?s:.*X|^B)/BM
36Memory allocation (code space): 29
37------------------------------------------------------------------
38  0  25 Bra
39  3   9 Bra
40  6  04 Opt
41  8     AllAny*
42 10     X
43 12   8 Alt
44 15  04 Opt
45 17     ^
46 18     B
47 20  17 Ket
48 23  00 Opt
49 25  25 Ket
50 28     End
51------------------------------------------------------------------
52
53/^[[:alnum:]]/BM
54Memory 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/#/IxMD
64Memory allocation (code space): 7
65------------------------------------------------------------------
66  0   3 Bra
67  3   3 Ket
68  6     End
69------------------------------------------------------------------
70Capturing subpattern count = 0
71Options: extended
72No first char
73No need char
74
75/a#/IxMD
76Memory allocation (code space): 9
77------------------------------------------------------------------
78  0   5 Bra
79  3     a
80  5   5 Ket
81  8     End
82------------------------------------------------------------------
83Capturing subpattern count = 0
84Options: extended
85First char = 'a'
86No need char
87
88/x?+/BM
89Memory allocation (code space): 9
90------------------------------------------------------------------
91  0   5 Bra
92  3     x?+
93  5   5 Ket
94  8     End
95------------------------------------------------------------------
96
97/x++/BM
98Memory 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}+/BM
107Memory allocation (code space): 19
108------------------------------------------------------------------
109  0  15 Bra
110  3   9 Once
111  6     x
112  8     x{0,2}
113 12   9 Ket
114 15  15 Ket
115 18     End
116------------------------------------------------------------------
117
118/(x)*+/BM
119Memory allocation (code space): 24
120------------------------------------------------------------------
121  0  20 Bra
122  3  14 Once
123  6     Brazero
124  7   7 CBra 1
125 12     x
126 14   7 KetRmax
127 17  14 Ket
128 20  20 Ket
129 23     End
130------------------------------------------------------------------
131
132/^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/BM
133Memory allocation (code space): 120
134------------------------------------------------------------------
135  0 116 Bra
136  3     ^
137  4 109 CBra 1
138  9   7 CBra 2
139 14     a+
140 16   7 Ket
141 19  39 CBra 3
142 24     [ab]+?
143 58  39 Ket
144 61  39 CBra 4
145 66     [bc]+
146100  39 Ket
147103   7 CBra 5
148108     \w*
149110   7 Ket
150113 109 Ket
151116 116 Ket
152119     End
153------------------------------------------------------------------
154
155|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|BM
156Memory allocation (code space): 826
157------------------------------------------------------------------
158  0 822 Bra
159  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
160821     \b
161822 822 Ket
162825     End
163------------------------------------------------------------------
164
165|\$\<\.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|BM
166Memory allocation (code space): 816
167------------------------------------------------------------------
168  0 812 Bra
169  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
170811     \b
171812 812 Ket
172815     End
173------------------------------------------------------------------
174
175/(a(?1)b)/BM
176Memory allocation (code space): 28
177------------------------------------------------------------------
178  0  24 Bra
179  3  18 CBra 1
180  8     a
181 10   6 Once
182 13   3 Recurse
183 16   6 Ket
184 19     b
185 21  18 Ket
186 24  24 Ket
187 27     End
188------------------------------------------------------------------
189
190/(a(?1)+b)/BM
191Memory allocation (code space): 28
192------------------------------------------------------------------
193  0  24 Bra
194  3  18 CBra 1
195  8     a
196 10   6 Once
197 13   3 Recurse
198 16   6 KetRmax
199 19     b
200 21  18 Ket
201 24  24 Ket
202 27     End
203------------------------------------------------------------------
204
205/a(?P<name1>b|c)d(?P<longername2>e)/BM
206Memory allocation (code space): 42
207------------------------------------------------------------------
208  0  32 Bra
209  3     a
210  5   7 CBra 1
211 10     b
212 12   5 Alt
213 15     c
214 17  12 Ket
215 20     d
216 22   7 CBra 2
217 27     e
218 29   7 Ket
219 32  32 Ket
220 35     End
221------------------------------------------------------------------
222
223/(?:a(?P<c>c(?P<d>d)))(?P<a>a)/BM
224Memory allocation (code space): 54
225------------------------------------------------------------------
226  0  41 Bra
227  3  25 Bra
228  6     a
229  8  17 CBra 1
230 13     c
231 15   7 CBra 2
232 20     d
233 22   7 Ket
234 25  17 Ket
235 28  25 Ket
236 31   7 CBra 3
237 36     a
238 38   7 Ket
239 41  41 Ket
240 44     End
241------------------------------------------------------------------
242
243/(?P<a>a)...(?P=a)bbb(?P>a)d/BM
244Memory allocation (code space): 43
245------------------------------------------------------------------
246  0  36 Bra
247  3   7 CBra 1
248  8     a
249 10   7 Ket
250 13     Any
251 14     Any
252 15     Any
253 16     \1
254 19     bbb
255 25   6 Once
256 28   3 Recurse
257 31   6 Ket
258 34     d
259 36  36 Ket
260 39     End
261------------------------------------------------------------------
262
263/abc(?C255)de(?C)f/BM
264Memory allocation (code space): 31
265------------------------------------------------------------------
266  0  27 Bra
267  3     abc
268  9     Callout 255 10 1
269 15     de
270 19     Callout 0 16 1
271 25     f
272 27  27 Ket
273 30     End
274------------------------------------------------------------------
275
276/abcde/CBM
277Memory allocation (code space): 53
278------------------------------------------------------------------
279  0  49 Bra
280  3     Callout 255 0 1
281  9     a
282 11     Callout 255 1 1
283 17     b
284 19     Callout 255 2 1
285 25     c
286 27     Callout 255 3 1
287 33     d
288 35     Callout 255 4 1
289 41     e
290 43     Callout 255 5 0
291 49  49 Ket
292 52     End
293------------------------------------------------------------------
294
295/\x{100}/8BM
296Memory allocation (code space): 10
297------------------------------------------------------------------
298  0   6 Bra
299  3     \x{100}
300  6   6 Ket
301  9     End
302------------------------------------------------------------------
303
304/\x{1000}/8BM
305Memory allocation (code space): 11
306------------------------------------------------------------------
307  0   7 Bra
308  3     \x{1000}
309  7   7 Ket
310 10     End
311------------------------------------------------------------------
312
313/\x{10000}/8BM
314Memory allocation (code space): 12
315------------------------------------------------------------------
316  0   8 Bra
317  3     \x{10000}
318  8   8 Ket
319 11     End
320------------------------------------------------------------------
321
322/\x{100000}/8BM
323Memory allocation (code space): 12
324------------------------------------------------------------------
325  0   8 Bra
326  3     \x{100000}
327  8   8 Ket
328 11     End
329------------------------------------------------------------------
330
331/\x{1000000}/8BM
332Memory allocation (code space): 13
333------------------------------------------------------------------
334  0   9 Bra
335  3     \x{1000000}
336  9   9 Ket
337 12     End
338------------------------------------------------------------------
339
340/\x{4000000}/8BM
341Memory allocation (code space): 14
342------------------------------------------------------------------
343  0  10 Bra
344  3     \x{4000000}
345 10  10 Ket
346 13     End
347------------------------------------------------------------------
348
349/\x{7fffFFFF}/8BM
350Memory allocation (code space): 14
351------------------------------------------------------------------
352  0  10 Bra
353  3     \x{7fffffff}
354 10  10 Ket
355 13     End
356------------------------------------------------------------------
357
358/[\x{ff}]/8BM
359Memory allocation (code space): 10
360------------------------------------------------------------------
361  0   6 Bra
362  3     \x{ff}
363  6   6 Ket
364  9     End
365------------------------------------------------------------------
366
367/[\x{100}]/8BM
368Memory allocation (code space): 15
369------------------------------------------------------------------
370  0  11 Bra
371  3     [\x{100}]
372 11  11 Ket
373 14     End
374------------------------------------------------------------------
375
376/\x80/8BM
377Memory allocation (code space): 10
378------------------------------------------------------------------
379  0   6 Bra
380  3     \x{80}
381  6   6 Ket
382  9     End
383------------------------------------------------------------------
384
385/\xff/8BM
386Memory allocation (code space): 10
387------------------------------------------------------------------
388  0   6 Bra
389  3     \x{ff}
390  6   6 Ket
391  9     End
392------------------------------------------------------------------
393
394/\x{0041}\x{2262}\x{0391}\x{002e}/D8M
395Memory allocation (code space): 18
396------------------------------------------------------------------
397  0  14 Bra
398  3     A\x{2262}\x{391}.
399 14  14 Ket
400 17     End
401------------------------------------------------------------------
402Capturing subpattern count = 0
403Options: utf8
404First char = 'A'
405Need char = '.'
406
407/\x{D55c}\x{ad6d}\x{C5B4}/D8M
408Memory allocation (code space): 19
409------------------------------------------------------------------
410  0  15 Bra
411  3     \x{d55c}\x{ad6d}\x{c5b4}
412 15  15 Ket
413 18     End
414------------------------------------------------------------------
415Capturing subpattern count = 0
416Options: utf8
417First char = 237
418Need char = 180
419
420/\x{65e5}\x{672c}\x{8a9e}/D8M
421Memory allocation (code space): 19
422------------------------------------------------------------------
423  0  15 Bra
424  3     \x{65e5}\x{672c}\x{8a9e}
425 15  15 Ket
426 18     End
427------------------------------------------------------------------
428Capturing subpattern count = 0
429Options: utf8
430First char = 230
431Need char = 158
432
433/[\x{100}]/8BM
434Memory allocation (code space): 15
435------------------------------------------------------------------
436  0  11 Bra
437  3     [\x{100}]
438 11  11 Ket
439 14     End
440------------------------------------------------------------------
441
442/[Z\x{100}]/8BM
443Memory allocation (code space): 47
444------------------------------------------------------------------
445  0  43 Bra
446  3     [Z\x{100}]
447 43  43 Ket
448 46     End
449------------------------------------------------------------------
450
451/^[\x{100}\E-\Q\E\x{150}]/B8M
452Memory allocation (code space): 18
453------------------------------------------------------------------
454  0  14 Bra
455  3     ^
456  4     [\x{100}-\x{150}]
457 14  14 Ket
458 17     End
459------------------------------------------------------------------
460
461/^[\QĀ\E-\QŐ\E]/B8M
462Memory allocation (code space): 18
463------------------------------------------------------------------
464  0  14 Bra
465  3     ^
466  4     [\x{100}-\x{150}]
467 14  14 Ket
468 17     End
469------------------------------------------------------------------
470
471/^[\QĀ\E-\QŐ\E/B8M
472Failed: missing terminating ] for character class at offset 15
473
474/[\p{L}]/BM
475Memory allocation (code space): 15
476------------------------------------------------------------------
477  0  11 Bra
478  3     [\p{L}]
479 11  11 Ket
480 14     End
481------------------------------------------------------------------
482
483/[\p{^L}]/BM
484Memory allocation (code space): 15
485------------------------------------------------------------------
486  0  11 Bra
487  3     [\P{L}]
488 11  11 Ket
489 14     End
490------------------------------------------------------------------
491
492/[\P{L}]/BM
493Memory allocation (code space): 15
494------------------------------------------------------------------
495  0  11 Bra
496  3     [\P{L}]
497 11  11 Ket
498 14     End
499------------------------------------------------------------------
500
501/[\P{^L}]/BM
502Memory allocation (code space): 15
503------------------------------------------------------------------
504  0  11 Bra
505  3     [\p{L}]
506 11  11 Ket
507 14     End
508------------------------------------------------------------------
509
510/[abc\p{L}\x{0660}]/8BM
511Memory allocation (code space): 50
512------------------------------------------------------------------
513  0  46 Bra
514  3     [a-c\p{L}\x{660}]
515 46  46 Ket
516 49     End
517------------------------------------------------------------------
518
519/[\p{Nd}]/8BM
520Memory allocation (code space): 15
521------------------------------------------------------------------
522  0  11 Bra
523  3     [\p{Nd}]
524 11  11 Ket
525 14     End
526------------------------------------------------------------------
527
528/[\p{Nd}+-]+/8BM
529Memory allocation (code space): 48
530------------------------------------------------------------------
531  0  44 Bra
532  3     [+\-\p{Nd}]+
533 44  44 Ket
534 47     End
535------------------------------------------------------------------
536
537/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8iBM
538Memory allocation (code space): 25
539------------------------------------------------------------------
540  0  21 Bra
541  3  NC A\x{391}\x{10427}\x{ff3a}\x{1fb0}
542 21  21 Ket
543 24     End
544------------------------------------------------------------------
545
546/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8BM
547Memory allocation (code space): 25
548------------------------------------------------------------------
549  0  21 Bra
550  3     A\x{391}\x{10427}\x{ff3a}\x{1fb0}
551 21  21 Ket
552 24     End
553------------------------------------------------------------------
554
555/[\x{105}-\x{109}]/8iBM
556Memory allocation (code space): 17
557------------------------------------------------------------------
558  0  13 Bra
559  3     [\x{104}-\x{109}]
560 13  13 Ket
561 16     End
562------------------------------------------------------------------
563
564/( ( (?(1)0|) )*   )/xBM
565Memory allocation (code space): 38
566------------------------------------------------------------------
567  0  34 Bra
568  3  28 CBra 1
569  8     Brazero
570  9  19 SCBra 2
571 14   8 Cond
572 17   1 Cond ref
573 20     0
574 22   3 Alt
575 25  11 Ket
576 28  19 KetRmax
577 31  28 Ket
578 34  34 Ket
579 37     End
580------------------------------------------------------------------
581
582/(  (?(1)0|)*   )/xBM
583Memory allocation (code space): 30
584------------------------------------------------------------------
585  0  26 Bra
586  3  20 CBra 1
587  8     Brazero
588  9   8 SCond
589 12   1 Cond ref
590 15     0
591 17   3 Alt
592 20  11 KetRmax
593 23  20 Ket
594 26  26 Ket
595 29     End
596------------------------------------------------------------------
597
598/[a]/BM
599Memory allocation (code space): 9
600------------------------------------------------------------------
601  0   5 Bra
602  3     a
603  5   5 Ket
604  8     End
605------------------------------------------------------------------
606
607/[a]/8BM
608Memory allocation (code space): 9
609------------------------------------------------------------------
610  0   5 Bra
611  3     a
612  5   5 Ket
613  8     End
614------------------------------------------------------------------
615
616/[\xaa]/BM
617Memory allocation (code space): 9
618------------------------------------------------------------------
619  0   5 Bra
620  3     \xaa
621  5   5 Ket
622  8     End
623------------------------------------------------------------------
624
625/[\xaa]/8BM
626Memory allocation (code space): 10
627------------------------------------------------------------------
628  0   6 Bra
629  3     \x{aa}
630  6   6 Ket
631  9     End
632------------------------------------------------------------------
633
634/[^a]/BM
635Memory allocation (code space): 9
636------------------------------------------------------------------
637  0   5 Bra
638  3     [^a]
639  5   5 Ket
640  8     End
641------------------------------------------------------------------
642
643/[^a]/8BM
644Memory allocation (code space): 9
645------------------------------------------------------------------
646  0   5 Bra
647  3     [^a]
648  5   5 Ket
649  8     End
650------------------------------------------------------------------
651
652/[^\xaa]/BM
653Memory allocation (code space): 9
654------------------------------------------------------------------
655  0   5 Bra
656  3     [^\xaa]
657  5   5 Ket
658  8     End
659------------------------------------------------------------------
660
661/[^\xaa]/8BM
662Memory allocation (code space): 40
663------------------------------------------------------------------
664  0  36 Bra
665  3     [\x00-\xa9\xab-\xff] (neg)
666 36  36 Ket
667 39     End
668------------------------------------------------------------------
669
670/[^\d]/8WB
671------------------------------------------------------------------
672  0  11 Bra
673  3     [^\p{Nd}]
674 11  11 Ket
675 14     End
676------------------------------------------------------------------
677
678/[[:^alpha:][:^cntrl:]]+/8WB
679------------------------------------------------------------------
680  0  44 Bra
681  3     [ -~\x80-\xff\P{L}]+
682 44  44 Ket
683 47     End
684------------------------------------------------------------------
685
686/[[:^cntrl:][:^alpha:]]+/8WB
687------------------------------------------------------------------
688  0  44 Bra
689  3     [ -~\x80-\xff\P{L}]+
690 44  44 Ket
691 47     End
692------------------------------------------------------------------
693
694/[[:alpha:]]+/8WB
695------------------------------------------------------------------
696  0  12 Bra
697  3     [\p{L}]+
698 12  12 Ket
699 15     End
700------------------------------------------------------------------
701
702/[[:^alpha:]\S]+/8WB
703------------------------------------------------------------------
704  0  15 Bra
705  3     [\P{L}\P{Xsp}]+
706 15  15 Ket
707 18     End
708------------------------------------------------------------------
709
710/abc(d|e)(*THEN)x(123(*THEN)4|567(b|q)(*THEN)xx)/B
711------------------------------------------------------------------
712  0  79 Bra
713  3     abc
714  9   7 CBra 1
715 14     d
716 16   5 Alt
717 19     e
718 21  12 Ket
719 24     *THEN 24
720 27     x
721 29  16 CBra 2
722 34     123
723 40     *THEN 11
724 43     4
725 45  31 Alt
726 48     567
727 54   7 CBra 3
728 59     b
729 61   5 Alt
730 64     q
731 66  12 Ket
732 69     *THEN 24
733 72     xx
734 76  47 Ket
735 79  79 Ket
736 82     End
737------------------------------------------------------------------
738
739/-- End of testinput10 --/
740