xref: /PHP-5.3/ext/pcre/pcrelib/testdata/testoutput5 (revision 357ab3cb)
1/-- This set of tests checks the API, internals, and non-Perl stuff for UTF
2    support, excluding Unicode properties. However, tests that give different
3    results in 8-bit and 16-bit modes are excluded (see tests 16 and 17). --/
4
5/\x{110000}/8DZ
6Failed: character value in \x{...} sequence is too large at offset 9
7
8/\x{ffffffff}/8
9Failed: character value in \x{...} sequence is too large at offset 11
10
11/\x{100000000}/8
12Failed: character value in \x{...} sequence is too large at offset 12
13
14/\x{d800}/8
15Failed: disallowed Unicode code point (>= 0xd800 && <= 0xdfff) at offset 7
16
17/\x{dfff}/8
18Failed: disallowed Unicode code point (>= 0xd800 && <= 0xdfff) at offset 7
19
20/\x{d7ff}/8
21
22/\x{e000}/8
23
24/^\x{100}a\x{1234}/8
25    \x{100}a\x{1234}bcd
26 0: \x{100}a\x{1234}
27
28/\x{0041}\x{2262}\x{0391}\x{002e}/DZ8
29------------------------------------------------------------------
30        Bra
31        A\x{2262}\x{391}.
32        Ket
33        End
34------------------------------------------------------------------
35Capturing subpattern count = 0
36Options: utf
37First char = 'A'
38Need char = '.'
39    \x{0041}\x{2262}\x{0391}\x{002e}
40 0: A\x{2262}\x{391}.
41
42/.{3,5}X/DZ8
43------------------------------------------------------------------
44        Bra
45        Any{3}
46        Any{0,2}
47        X
48        Ket
49        End
50------------------------------------------------------------------
51Capturing subpattern count = 0
52Options: utf
53No first char
54Need char = 'X'
55    \x{212ab}\x{212ab}\x{212ab}\x{861}X
56 0: \x{212ab}\x{212ab}\x{212ab}\x{861}X
57
58/.{3,5}?/DZ8
59------------------------------------------------------------------
60        Bra
61        Any{3}
62        Any{0,2}?
63        Ket
64        End
65------------------------------------------------------------------
66Capturing subpattern count = 0
67Options: utf
68No first char
69No need char
70    \x{212ab}\x{212ab}\x{212ab}\x{861}
71 0: \x{212ab}\x{212ab}\x{212ab}
72
73/(?<=\C)X/8
74Failed: \C not allowed in lookbehind assertion at offset 6
75
76/^[ab]/8DZ
77------------------------------------------------------------------
78        Bra
79        ^
80        [ab]
81        Ket
82        End
83------------------------------------------------------------------
84Capturing subpattern count = 0
85Options: anchored utf
86No first char
87No need char
88    bar
89 0: b
90    *** Failers
91No match
92    c
93No match
94    \x{ff}
95No match
96    \x{100}
97No match
98
99/^[^ab]/8DZ
100------------------------------------------------------------------
101        Bra
102        ^
103        [\x00-`c-\xff] (neg)
104        Ket
105        End
106------------------------------------------------------------------
107Capturing subpattern count = 0
108Options: anchored utf
109No first char
110No need char
111    c
112 0: c
113    \x{ff}
114 0: \x{ff}
115    \x{100}
116 0: \x{100}
117    *** Failers
118 0: *
119    aaa
120No match
121
122/\x{100}*(\d+|"(?1)")/8
123    1234
124 0: 1234
125 1: 1234
126    "1234"
127 0: "1234"
128 1: "1234"
129    \x{100}1234
130 0: \x{100}1234
131 1: 1234
132    "\x{100}1234"
133 0: \x{100}1234
134 1: 1234
135    \x{100}\x{100}12ab
136 0: \x{100}\x{100}12
137 1: 12
138    \x{100}\x{100}"12"
139 0: \x{100}\x{100}"12"
140 1: "12"
141    *** Failers
142No match
143    \x{100}\x{100}abcd
144No match
145
146/\x{100}*/8DZ
147------------------------------------------------------------------
148        Bra
149        \x{100}*
150        Ket
151        End
152------------------------------------------------------------------
153Capturing subpattern count = 0
154Options: utf
155No first char
156No need char
157
158/a\x{100}*/8DZ
159------------------------------------------------------------------
160        Bra
161        a
162        \x{100}*
163        Ket
164        End
165------------------------------------------------------------------
166Capturing subpattern count = 0
167Options: utf
168First char = 'a'
169No need char
170
171/ab\x{100}*/8DZ
172------------------------------------------------------------------
173        Bra
174        ab
175        \x{100}*
176        Ket
177        End
178------------------------------------------------------------------
179Capturing subpattern count = 0
180Options: utf
181First char = 'a'
182Need char = 'b'
183
184/\x{100}*A/8DZ
185------------------------------------------------------------------
186        Bra
187        \x{100}*+
188        A
189        Ket
190        End
191------------------------------------------------------------------
192Capturing subpattern count = 0
193Options: utf
194No first char
195Need char = 'A'
196    A
197 0: A
198
199/\x{100}*\d(?R)/8DZ
200------------------------------------------------------------------
201        Bra
202        \x{100}*+
203        \d
204        Recurse
205        Ket
206        End
207------------------------------------------------------------------
208Capturing subpattern count = 0
209Options: utf
210No first char
211No need char
212
213/[Z\x{100}]/8DZ
214------------------------------------------------------------------
215        Bra
216        [Z\x{100}]
217        Ket
218        End
219------------------------------------------------------------------
220Capturing subpattern count = 0
221Options: utf
222No first char
223No need char
224    Z\x{100}
225 0: Z
226    \x{100}
227 0: \x{100}
228    \x{100}Z
229 0: \x{100}
230    *** Failers
231No match
232
233/[\x{200}-\x{100}]/8
234Failed: range out of order in character class at offset 15
235
236/[Ā-Ą]/8
237    \x{100}
238 0: \x{100}
239    \x{104}
240 0: \x{104}
241    *** Failers
242No match
243    \x{105}
244No match
245    \x{ff}
246No match
247
248/[z-\x{100}]/8DZ
249------------------------------------------------------------------
250        Bra
251        [z-\x{100}]
252        Ket
253        End
254------------------------------------------------------------------
255Capturing subpattern count = 0
256Options: utf
257No first char
258No need char
259
260/[z\Qa-d]Ā\E]/8DZ
261------------------------------------------------------------------
262        Bra
263        [\-\]adz\x{100}]
264        Ket
265        End
266------------------------------------------------------------------
267Capturing subpattern count = 0
268Options: utf
269No first char
270No need char
271    \x{100}
272 0: \x{100}
273    Ā
274 0: \x{100}
275
276/[\xFF]/DZ
277------------------------------------------------------------------
278        Bra
279        \x{ff}
280        Ket
281        End
282------------------------------------------------------------------
283Capturing subpattern count = 0
284No options
285First char = \xff
286No need char
287    >\xff<
288 0: \xff
289
290/[^\xFF]/DZ
291------------------------------------------------------------------
292        Bra
293        [^\x{ff}]
294        Ket
295        End
296------------------------------------------------------------------
297Capturing subpattern count = 0
298No options
299No first char
300No need char
301
302/[Ä-Ü]/8
303    Ö # Matches without Study
304 0: \x{d6}
305    \x{d6}
306 0: \x{d6}
307
308/[Ä-Ü]/8S
309    Ö <-- Same with Study
310 0: \x{d6}
311    \x{d6}
312 0: \x{d6}
313
314/[\x{c4}-\x{dc}]/8
315    Ö # Matches without Study
316 0: \x{d6}
317    \x{d6}
318 0: \x{d6}
319
320/[\x{c4}-\x{dc}]/8S
321    Ö <-- Same with Study
322 0: \x{d6}
323    \x{d6}
324 0: \x{d6}
325
326/[^\x{100}]abc(xyz(?1))/8DZ
327------------------------------------------------------------------
328        Bra
329        [^\x{100}]
330        abc
331        CBra 1
332        xyz
333        Recurse
334        Ket
335        Ket
336        End
337------------------------------------------------------------------
338Capturing subpattern count = 1
339Options: utf
340No first char
341Need char = 'z'
342
343/[ab\x{100}]abc(xyz(?1))/8DZ
344------------------------------------------------------------------
345        Bra
346        [ab\x{100}]
347        abc
348        CBra 1
349        xyz
350        Recurse
351        Ket
352        Ket
353        End
354------------------------------------------------------------------
355Capturing subpattern count = 1
356Options: utf
357No first char
358Need char = 'z'
359
360/(\x{100}(b(?2)c))?/DZ8
361------------------------------------------------------------------
362        Bra
363        Brazero
364        CBra 1
365        \x{100}
366        CBra 2
367        b
368        Recurse
369        c
370        Ket
371        Ket
372        Ket
373        End
374------------------------------------------------------------------
375Capturing subpattern count = 2
376Options: utf
377No first char
378No need char
379
380/(\x{100}(b(?2)c)){0,2}/DZ8
381------------------------------------------------------------------
382        Bra
383        Brazero
384        Bra
385        CBra 1
386        \x{100}
387        CBra 2
388        b
389        Recurse
390        c
391        Ket
392        Ket
393        Brazero
394        CBra 1
395        \x{100}
396        CBra 2
397        b
398        Recurse
399        c
400        Ket
401        Ket
402        Ket
403        Ket
404        End
405------------------------------------------------------------------
406Capturing subpattern count = 2
407Options: utf
408No first char
409No need char
410
411/(\x{100}(b(?1)c))?/DZ8
412------------------------------------------------------------------
413        Bra
414        Brazero
415        CBra 1
416        \x{100}
417        CBra 2
418        b
419        Recurse
420        c
421        Ket
422        Ket
423        Ket
424        End
425------------------------------------------------------------------
426Capturing subpattern count = 2
427Options: utf
428No first char
429No need char
430
431/(\x{100}(b(?1)c)){0,2}/DZ8
432------------------------------------------------------------------
433        Bra
434        Brazero
435        Bra
436        CBra 1
437        \x{100}
438        CBra 2
439        b
440        Recurse
441        c
442        Ket
443        Ket
444        Brazero
445        CBra 1
446        \x{100}
447        CBra 2
448        b
449        Recurse
450        c
451        Ket
452        Ket
453        Ket
454        Ket
455        End
456------------------------------------------------------------------
457Capturing subpattern count = 2
458Options: utf
459No first char
460No need char
461
462/\W/8
463    A.B
464 0: .
465    A\x{100}B
466 0: \x{100}
467
468/\w/8
469    \x{100}X
470 0: X
471
472/^\ሴ/8DZ
473------------------------------------------------------------------
474        Bra
475        ^
476        \x{1234}
477        Ket
478        End
479------------------------------------------------------------------
480Capturing subpattern count = 0
481Options: anchored utf
482No first char
483No need char
484
485/\x{100}*\d/8DZ
486------------------------------------------------------------------
487        Bra
488        \x{100}*+
489        \d
490        Ket
491        End
492------------------------------------------------------------------
493Capturing subpattern count = 0
494Options: utf
495No first char
496No need char
497
498/\x{100}*\s/8DZ
499------------------------------------------------------------------
500        Bra
501        \x{100}*+
502        \s
503        Ket
504        End
505------------------------------------------------------------------
506Capturing subpattern count = 0
507Options: utf
508No first char
509No need char
510
511/\x{100}*\w/8DZ
512------------------------------------------------------------------
513        Bra
514        \x{100}*+
515        \w
516        Ket
517        End
518------------------------------------------------------------------
519Capturing subpattern count = 0
520Options: utf
521No first char
522No need char
523
524/\x{100}*\D/8DZ
525------------------------------------------------------------------
526        Bra
527        \x{100}*
528        \D
529        Ket
530        End
531------------------------------------------------------------------
532Capturing subpattern count = 0
533Options: utf
534No first char
535No need char
536
537/\x{100}*\S/8DZ
538------------------------------------------------------------------
539        Bra
540        \x{100}*
541        \S
542        Ket
543        End
544------------------------------------------------------------------
545Capturing subpattern count = 0
546Options: utf
547No first char
548No need char
549
550/\x{100}*\W/8DZ
551------------------------------------------------------------------
552        Bra
553        \x{100}*
554        \W
555        Ket
556        End
557------------------------------------------------------------------
558Capturing subpattern count = 0
559Options: utf
560No first char
561No need char
562
563/()()()()()()()()()()
564 ()()()()()()()()()()
565 ()()()()()()()()()()
566 ()()()()()()()()()()
567 A (x) (?41) B/8x
568    AxxB
569Matched, but too many substrings
570 0: AxxB
571 1:
572 2:
573 3:
574 4:
575 5:
576 6:
577 7:
578 8:
579 9:
58010:
58111:
58212:
58313:
58414:
585
586/^[\x{100}\E-\Q\E\x{150}]/BZ8
587------------------------------------------------------------------
588        Bra
589        ^
590        [\x{100}-\x{150}]
591        Ket
592        End
593------------------------------------------------------------------
594
595/^[\QĀ\E-\QŐ\E]/BZ8
596------------------------------------------------------------------
597        Bra
598        ^
599        [\x{100}-\x{150}]
600        Ket
601        End
602------------------------------------------------------------------
603
604/^abc./mgx8<any>
605    abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x{0085}abc7 \x{2028}abc8 \x{2029}abc9 JUNK
606 0: abc1
607 0: abc2
608 0: abc3
609 0: abc4
610 0: abc5
611 0: abc6
612 0: abc7
613 0: abc8
614 0: abc9
615
616/abc.$/mgx8<any>
617    abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x{0085} abc7\x{2028} abc8\x{2029} abc9
618 0: abc1
619 0: abc2
620 0: abc3
621 0: abc4
622 0: abc5
623 0: abc6
624 0: abc7
625 0: abc8
626 0: abc9
627
628/^a\Rb/8<bsr_unicode>
629    a\nb
630 0: a\x{0a}b
631    a\rb
632 0: a\x{0d}b
633    a\r\nb
634 0: a\x{0d}\x{0a}b
635    a\x0bb
636 0: a\x{0b}b
637    a\x0cb
638 0: a\x{0c}b
639    a\x{85}b
640 0: a\x{85}b
641    a\x{2028}b
642 0: a\x{2028}b
643    a\x{2029}b
644 0: a\x{2029}b
645    ** Failers
646No match
647    a\n\rb
648No match
649
650/^a\R*b/8<bsr_unicode>
651    ab
652 0: ab
653    a\nb
654 0: a\x{0a}b
655    a\rb
656 0: a\x{0d}b
657    a\r\nb
658 0: a\x{0d}\x{0a}b
659    a\x0bb
660 0: a\x{0b}b
661    a\x0c\x{2028}\x{2029}b
662 0: a\x{0c}\x{2028}\x{2029}b
663    a\x{85}b
664 0: a\x{85}b
665    a\n\rb
666 0: a\x{0a}\x{0d}b
667    a\n\r\x{85}\x0cb
668 0: a\x{0a}\x{0d}\x{85}\x{0c}b
669
670/^a\R+b/8<bsr_unicode>
671    a\nb
672 0: a\x{0a}b
673    a\rb
674 0: a\x{0d}b
675    a\r\nb
676 0: a\x{0d}\x{0a}b
677    a\x0bb
678 0: a\x{0b}b
679    a\x0c\x{2028}\x{2029}b
680 0: a\x{0c}\x{2028}\x{2029}b
681    a\x{85}b
682 0: a\x{85}b
683    a\n\rb
684 0: a\x{0a}\x{0d}b
685    a\n\r\x{85}\x0cb
686 0: a\x{0a}\x{0d}\x{85}\x{0c}b
687    ** Failers
688No match
689    ab
690No match
691
692/^a\R{1,3}b/8<bsr_unicode>
693    a\nb
694 0: a\x{0a}b
695    a\n\rb
696 0: a\x{0a}\x{0d}b
697    a\n\r\x{85}b
698 0: a\x{0a}\x{0d}\x{85}b
699    a\r\n\r\nb
700 0: a\x{0d}\x{0a}\x{0d}\x{0a}b
701    a\r\n\r\n\r\nb
702 0: a\x{0d}\x{0a}\x{0d}\x{0a}\x{0d}\x{0a}b
703    a\n\r\n\rb
704 0: a\x{0a}\x{0d}\x{0a}\x{0d}b
705    a\n\n\r\nb
706 0: a\x{0a}\x{0a}\x{0d}\x{0a}b
707    ** Failers
708No match
709    a\n\n\n\rb
710No match
711    a\r
712No match
713
714/\H\h\V\v/8
715    X X\x0a
716 0: X X\x{0a}
717    X\x09X\x0b
718 0: X\x{09}X\x{0b}
719    ** Failers
720No match
721    \x{a0} X\x0a
722No match
723
724/\H*\h+\V?\v{3,4}/8
725    \x09\x20\x{a0}X\x0a\x0b\x0c\x0d\x0a
726 0: \x{09} \x{a0}X\x{0a}\x{0b}\x{0c}\x{0d}
727    \x09\x20\x{a0}\x0a\x0b\x0c\x0d\x0a
728 0: \x{09} \x{a0}\x{0a}\x{0b}\x{0c}\x{0d}
729    \x09\x20\x{a0}\x0a\x0b\x0c
730 0: \x{09} \x{a0}\x{0a}\x{0b}\x{0c}
731    ** Failers
732No match
733    \x09\x20\x{a0}\x0a\x0b
734No match
735
736/\H\h\V\v/8
737    \x{3001}\x{3000}\x{2030}\x{2028}
738 0: \x{3001}\x{3000}\x{2030}\x{2028}
739    X\x{180e}X\x{85}
740 0: X\x{180e}X\x{85}
741    ** Failers
742No match
743    \x{2009} X\x0a
744No match
745
746/\H*\h+\V?\v{3,4}/8
747    \x{1680}\x{180e}\x{2007}X\x{2028}\x{2029}\x0c\x0d\x0a
748 0: \x{1680}\x{180e}\x{2007}X\x{2028}\x{2029}\x{0c}\x{0d}
749    \x09\x{205f}\x{a0}\x0a\x{2029}\x0c\x{2028}\x0a
750 0: \x{09}\x{205f}\x{a0}\x{0a}\x{2029}\x{0c}\x{2028}
751    \x09\x20\x{202f}\x0a\x0b\x0c
752 0: \x{09} \x{202f}\x{0a}\x{0b}\x{0c}
753    ** Failers
754No match
755    \x09\x{200a}\x{a0}\x{2028}\x0b
756No match
757
758/[\h]/8BZ
759------------------------------------------------------------------
760        Bra
761        [\x09 \xa0\x{1680}\x{180e}\x{2000}-\x{200a}\x{202f}\x{205f}\x{3000}]
762        Ket
763        End
764------------------------------------------------------------------
765    >\x{1680}
766 0: \x{1680}
767
768/[\h]{3,}/8BZ
769------------------------------------------------------------------
770        Bra
771        [\x09 \xa0\x{1680}\x{180e}\x{2000}-\x{200a}\x{202f}\x{205f}\x{3000}]{3,}
772        Ket
773        End
774------------------------------------------------------------------
775    >\x{1680}\x{180e}\x{2000}\x{2003}\x{200a}\x{202f}\x{205f}\x{3000}<
776 0: \x{1680}\x{180e}\x{2000}\x{2003}\x{200a}\x{202f}\x{205f}\x{3000}
777
778/[\v]/8BZ
779------------------------------------------------------------------
780        Bra
781        [\x0a-\x0d\x85\x{2028}-\x{2029}]
782        Ket
783        End
784------------------------------------------------------------------
785
786/[\H]/8BZ
787------------------------------------------------------------------
788        Bra
789        [\x00-\x08\x0a-\x1f!-\x9f\x{a1}-\x{167f}\x{1681}-\x{180d}\x{180f}-\x{1fff}\x{200b}-\x{202e}\x{2030}-\x{205e}\x{2060}-\x{2fff}\x{3001}-\x{10ffff}]
790        Ket
791        End
792------------------------------------------------------------------
793
794/[\V]/8BZ
795------------------------------------------------------------------
796        Bra
797        [\x00-\x09\x0e-\x84\x{86}-\x{2027}\x{202a}-\x{10ffff}]
798        Ket
799        End
800------------------------------------------------------------------
801
802/.*$/8<any>
803    \x{1ec5}
804 0: \x{1ec5}
805
806/a\Rb/I8<bsr_anycrlf>
807Capturing subpattern count = 0
808Options: bsr_anycrlf utf
809First char = 'a'
810Need char = 'b'
811    a\rb
812 0: a\x{0d}b
813    a\nb
814 0: a\x{0a}b
815    a\r\nb
816 0: a\x{0d}\x{0a}b
817    ** Failers
818No match
819    a\x{85}b
820No match
821    a\x0bb
822No match
823
824/a\Rb/I8<bsr_unicode>
825Capturing subpattern count = 0
826Options: bsr_unicode utf
827First char = 'a'
828Need char = 'b'
829    a\rb
830 0: a\x{0d}b
831    a\nb
832 0: a\x{0a}b
833    a\r\nb
834 0: a\x{0d}\x{0a}b
835    a\x{85}b
836 0: a\x{85}b
837    a\x0bb
838 0: a\x{0b}b
839    ** Failers
840No match
841    a\x{85}b\<bsr_anycrlf>
842No match
843    a\x0bb\<bsr_anycrlf>
844No match
845
846/a\R?b/I8<bsr_anycrlf>
847Capturing subpattern count = 0
848Options: bsr_anycrlf utf
849First char = 'a'
850Need char = 'b'
851    a\rb
852 0: a\x{0d}b
853    a\nb
854 0: a\x{0a}b
855    a\r\nb
856 0: a\x{0d}\x{0a}b
857    ** Failers
858No match
859    a\x{85}b
860No match
861    a\x0bb
862No match
863
864/a\R?b/I8<bsr_unicode>
865Capturing subpattern count = 0
866Options: bsr_unicode utf
867First char = 'a'
868Need char = 'b'
869    a\rb
870 0: a\x{0d}b
871    a\nb
872 0: a\x{0a}b
873    a\r\nb
874 0: a\x{0d}\x{0a}b
875    a\x{85}b
876 0: a\x{85}b
877    a\x0bb
878 0: a\x{0b}b
879    ** Failers
880No match
881    a\x{85}b\<bsr_anycrlf>
882No match
883    a\x0bb\<bsr_anycrlf>
884No match
885
886/.*a.*=.b.*/8<ANY>
887    QQQ\x{2029}ABCaXYZ=!bPQR
888 0: ABCaXYZ=!bPQR
889    ** Failers
890No match
891    a\x{2029}b
892No match
893    \x61\xe2\x80\xa9\x62
894No match
895
896/[[:a\x{100}b:]]/8
897Failed: unknown POSIX class name at offset 3
898
899/a[^]b/<JS>8
900    a\x{1234}b
901 0: a\x{1234}b
902    a\nb
903 0: a\x{0a}b
904    ** Failers
905No match
906    ab
907No match
908
909/a[^]+b/<JS>8
910    aXb
911 0: aXb
912    a\nX\nX\x{1234}b
913 0: a\x{0a}X\x{0a}X\x{1234}b
914    ** Failers
915No match
916    ab
917No match
918
919/(\x{de})\1/
920    \x{de}\x{de}
921 0: \xde\xde
922 1: \xde
923
924/X/8f<any>
925    A\x{1ec5}ABCXYZ
926 0: X
927
928/Xa{2,4}b/8
929    X\P
930Partial match: X
931    Xa\P
932Partial match: Xa
933    Xaa\P
934Partial match: Xaa
935    Xaaa\P
936Partial match: Xaaa
937    Xaaaa\P
938Partial match: Xaaaa
939
940/Xa{2,4}?b/8
941    X\P
942Partial match: X
943    Xa\P
944Partial match: Xa
945    Xaa\P
946Partial match: Xaa
947    Xaaa\P
948Partial match: Xaaa
949    Xaaaa\P
950Partial match: Xaaaa
951
952/Xa{2,4}+b/8
953    X\P
954Partial match: X
955    Xa\P
956Partial match: Xa
957    Xaa\P
958Partial match: Xaa
959    Xaaa\P
960Partial match: Xaaa
961    Xaaaa\P
962Partial match: Xaaaa
963
964/X\x{123}{2,4}b/8
965    X\P
966Partial match: X
967    X\x{123}\P
968Partial match: X\x{123}
969    X\x{123}\x{123}\P
970Partial match: X\x{123}\x{123}
971    X\x{123}\x{123}\x{123}\P
972Partial match: X\x{123}\x{123}\x{123}
973    X\x{123}\x{123}\x{123}\x{123}\P
974Partial match: X\x{123}\x{123}\x{123}\x{123}
975
976/X\x{123}{2,4}?b/8
977    X\P
978Partial match: X
979    X\x{123}\P
980Partial match: X\x{123}
981    X\x{123}\x{123}\P
982Partial match: X\x{123}\x{123}
983    X\x{123}\x{123}\x{123}\P
984Partial match: X\x{123}\x{123}\x{123}
985    X\x{123}\x{123}\x{123}\x{123}\P
986Partial match: X\x{123}\x{123}\x{123}\x{123}
987
988/X\x{123}{2,4}+b/8
989    X\P
990Partial match: X
991    X\x{123}\P
992Partial match: X\x{123}
993    X\x{123}\x{123}\P
994Partial match: X\x{123}\x{123}
995    X\x{123}\x{123}\x{123}\P
996Partial match: X\x{123}\x{123}\x{123}
997    X\x{123}\x{123}\x{123}\x{123}\P
998Partial match: X\x{123}\x{123}\x{123}\x{123}
999
1000/X\x{123}{2,4}b/8
1001    Xx\P
1002No match
1003    X\x{123}x\P
1004No match
1005    X\x{123}\x{123}x\P
1006No match
1007    X\x{123}\x{123}\x{123}x\P
1008No match
1009    X\x{123}\x{123}\x{123}\x{123}x\P
1010No match
1011
1012/X\x{123}{2,4}?b/8
1013    Xx\P
1014No match
1015    X\x{123}x\P
1016No match
1017    X\x{123}\x{123}x\P
1018No match
1019    X\x{123}\x{123}\x{123}x\P
1020No match
1021    X\x{123}\x{123}\x{123}\x{123}x\P
1022No match
1023
1024/X\x{123}{2,4}+b/8
1025    Xx\P
1026No match
1027    X\x{123}x\P
1028No match
1029    X\x{123}\x{123}x\P
1030No match
1031    X\x{123}\x{123}\x{123}x\P
1032No match
1033    X\x{123}\x{123}\x{123}\x{123}x\P
1034No match
1035
1036/X\d{2,4}b/8
1037    X\P
1038Partial match: X
1039    X3\P
1040Partial match: X3
1041    X33\P
1042Partial match: X33
1043    X333\P
1044Partial match: X333
1045    X3333\P
1046Partial match: X3333
1047
1048/X\d{2,4}?b/8
1049    X\P
1050Partial match: X
1051    X3\P
1052Partial match: X3
1053    X33\P
1054Partial match: X33
1055    X333\P
1056Partial match: X333
1057    X3333\P
1058Partial match: X3333
1059
1060/X\d{2,4}+b/8
1061    X\P
1062Partial match: X
1063    X3\P
1064Partial match: X3
1065    X33\P
1066Partial match: X33
1067    X333\P
1068Partial match: X333
1069    X3333\P
1070Partial match: X3333
1071
1072/X\D{2,4}b/8
1073    X\P
1074Partial match: X
1075    Xa\P
1076Partial match: Xa
1077    Xaa\P
1078Partial match: Xaa
1079    Xaaa\P
1080Partial match: Xaaa
1081    Xaaaa\P
1082Partial match: Xaaaa
1083
1084/X\D{2,4}?b/8
1085    X\P
1086Partial match: X
1087    Xa\P
1088Partial match: Xa
1089    Xaa\P
1090Partial match: Xaa
1091    Xaaa\P
1092Partial match: Xaaa
1093    Xaaaa\P
1094Partial match: Xaaaa
1095
1096/X\D{2,4}+b/8
1097    X\P
1098Partial match: X
1099    Xa\P
1100Partial match: Xa
1101    Xaa\P
1102Partial match: Xaa
1103    Xaaa\P
1104Partial match: Xaaa
1105    Xaaaa\P
1106Partial match: Xaaaa
1107
1108/X\D{2,4}b/8
1109    X\P
1110Partial match: X
1111    X\x{123}\P
1112Partial match: X\x{123}
1113    X\x{123}\x{123}\P
1114Partial match: X\x{123}\x{123}
1115    X\x{123}\x{123}\x{123}\P
1116Partial match: X\x{123}\x{123}\x{123}
1117    X\x{123}\x{123}\x{123}\x{123}\P
1118Partial match: X\x{123}\x{123}\x{123}\x{123}
1119
1120/X\D{2,4}?b/8
1121    X\P
1122Partial match: X
1123    X\x{123}\P
1124Partial match: X\x{123}
1125    X\x{123}\x{123}\P
1126Partial match: X\x{123}\x{123}
1127    X\x{123}\x{123}\x{123}\P
1128Partial match: X\x{123}\x{123}\x{123}
1129    X\x{123}\x{123}\x{123}\x{123}\P
1130Partial match: X\x{123}\x{123}\x{123}\x{123}
1131
1132/X\D{2,4}+b/8
1133    X\P
1134Partial match: X
1135    X\x{123}\P
1136Partial match: X\x{123}
1137    X\x{123}\x{123}\P
1138Partial match: X\x{123}\x{123}
1139    X\x{123}\x{123}\x{123}\P
1140Partial match: X\x{123}\x{123}\x{123}
1141    X\x{123}\x{123}\x{123}\x{123}\P
1142Partial match: X\x{123}\x{123}\x{123}\x{123}
1143
1144/X[abc]{2,4}b/8
1145    X\P
1146Partial match: X
1147    Xa\P
1148Partial match: Xa
1149    Xaa\P
1150Partial match: Xaa
1151    Xaaa\P
1152Partial match: Xaaa
1153    Xaaaa\P
1154Partial match: Xaaaa
1155
1156/X[abc]{2,4}?b/8
1157    X\P
1158Partial match: X
1159    Xa\P
1160Partial match: Xa
1161    Xaa\P
1162Partial match: Xaa
1163    Xaaa\P
1164Partial match: Xaaa
1165    Xaaaa\P
1166Partial match: Xaaaa
1167
1168/X[abc]{2,4}+b/8
1169    X\P
1170Partial match: X
1171    Xa\P
1172Partial match: Xa
1173    Xaa\P
1174Partial match: Xaa
1175    Xaaa\P
1176Partial match: Xaaa
1177    Xaaaa\P
1178Partial match: Xaaaa
1179
1180/X[abc\x{123}]{2,4}b/8
1181    X\P
1182Partial match: X
1183    X\x{123}\P
1184Partial match: X\x{123}
1185    X\x{123}\x{123}\P
1186Partial match: X\x{123}\x{123}
1187    X\x{123}\x{123}\x{123}\P
1188Partial match: X\x{123}\x{123}\x{123}
1189    X\x{123}\x{123}\x{123}\x{123}\P
1190Partial match: X\x{123}\x{123}\x{123}\x{123}
1191
1192/X[abc\x{123}]{2,4}?b/8
1193    X\P
1194Partial match: X
1195    X\x{123}\P
1196Partial match: X\x{123}
1197    X\x{123}\x{123}\P
1198Partial match: X\x{123}\x{123}
1199    X\x{123}\x{123}\x{123}\P
1200Partial match: X\x{123}\x{123}\x{123}
1201    X\x{123}\x{123}\x{123}\x{123}\P
1202Partial match: X\x{123}\x{123}\x{123}\x{123}
1203
1204/X[abc\x{123}]{2,4}+b/8
1205    X\P
1206Partial match: X
1207    X\x{123}\P
1208Partial match: X\x{123}
1209    X\x{123}\x{123}\P
1210Partial match: X\x{123}\x{123}
1211    X\x{123}\x{123}\x{123}\P
1212Partial match: X\x{123}\x{123}\x{123}
1213    X\x{123}\x{123}\x{123}\x{123}\P
1214Partial match: X\x{123}\x{123}\x{123}\x{123}
1215
1216/X[^a]{2,4}b/8
1217    X\P
1218Partial match: X
1219    Xz\P
1220Partial match: Xz
1221    Xzz\P
1222Partial match: Xzz
1223    Xzzz\P
1224Partial match: Xzzz
1225    Xzzzz\P
1226Partial match: Xzzzz
1227
1228/X[^a]{2,4}?b/8
1229    X\P
1230Partial match: X
1231    Xz\P
1232Partial match: Xz
1233    Xzz\P
1234Partial match: Xzz
1235    Xzzz\P
1236Partial match: Xzzz
1237    Xzzzz\P
1238Partial match: Xzzzz
1239
1240/X[^a]{2,4}+b/8
1241    X\P
1242Partial match: X
1243    Xz\P
1244Partial match: Xz
1245    Xzz\P
1246Partial match: Xzz
1247    Xzzz\P
1248Partial match: Xzzz
1249    Xzzzz\P
1250Partial match: Xzzzz
1251
1252/X[^a]{2,4}b/8
1253    X\P
1254Partial match: X
1255    X\x{123}\P
1256Partial match: X\x{123}
1257    X\x{123}\x{123}\P
1258Partial match: X\x{123}\x{123}
1259    X\x{123}\x{123}\x{123}\P
1260Partial match: X\x{123}\x{123}\x{123}
1261    X\x{123}\x{123}\x{123}\x{123}\P
1262Partial match: X\x{123}\x{123}\x{123}\x{123}
1263
1264/X[^a]{2,4}?b/8
1265    X\P
1266Partial match: X
1267    X\x{123}\P
1268Partial match: X\x{123}
1269    X\x{123}\x{123}\P
1270Partial match: X\x{123}\x{123}
1271    X\x{123}\x{123}\x{123}\P
1272Partial match: X\x{123}\x{123}\x{123}
1273    X\x{123}\x{123}\x{123}\x{123}\P
1274Partial match: X\x{123}\x{123}\x{123}\x{123}
1275
1276/X[^a]{2,4}+b/8
1277    X\P
1278Partial match: X
1279    X\x{123}\P
1280Partial match: X\x{123}
1281    X\x{123}\x{123}\P
1282Partial match: X\x{123}\x{123}
1283    X\x{123}\x{123}\x{123}\P
1284Partial match: X\x{123}\x{123}\x{123}
1285    X\x{123}\x{123}\x{123}\x{123}\P
1286Partial match: X\x{123}\x{123}\x{123}\x{123}
1287
1288/(Y)X\1{2,4}b/8
1289    YX\P
1290Partial match: YX
1291    YXY\P
1292Partial match: YXY
1293    YXYY\P
1294Partial match: YXYY
1295    YXYYY\P
1296Partial match: YXYYY
1297    YXYYYY\P
1298Partial match: YXYYYY
1299
1300/(Y)X\1{2,4}?b/8
1301    YX\P
1302Partial match: YX
1303    YXY\P
1304Partial match: YXY
1305    YXYY\P
1306Partial match: YXYY
1307    YXYYY\P
1308Partial match: YXYYY
1309    YXYYYY\P
1310Partial match: YXYYYY
1311
1312/(Y)X\1{2,4}+b/8
1313    YX\P
1314Partial match: YX
1315    YXY\P
1316Partial match: YXY
1317    YXYY\P
1318Partial match: YXYY
1319    YXYYY\P
1320Partial match: YXYYY
1321    YXYYYY\P
1322Partial match: YXYYYY
1323
1324/(\x{123})X\1{2,4}b/8
1325    \x{123}X\P
1326Partial match: \x{123}X
1327    \x{123}X\x{123}\P
1328Partial match: \x{123}X\x{123}
1329    \x{123}X\x{123}\x{123}\P
1330Partial match: \x{123}X\x{123}\x{123}
1331    \x{123}X\x{123}\x{123}\x{123}\P
1332Partial match: \x{123}X\x{123}\x{123}\x{123}
1333    \x{123}X\x{123}\x{123}\x{123}\x{123}\P
1334Partial match: \x{123}X\x{123}\x{123}\x{123}\x{123}
1335
1336/(\x{123})X\1{2,4}?b/8
1337    \x{123}X\P
1338Partial match: \x{123}X
1339    \x{123}X\x{123}\P
1340Partial match: \x{123}X\x{123}
1341    \x{123}X\x{123}\x{123}\P
1342Partial match: \x{123}X\x{123}\x{123}
1343    \x{123}X\x{123}\x{123}\x{123}\P
1344Partial match: \x{123}X\x{123}\x{123}\x{123}
1345    \x{123}X\x{123}\x{123}\x{123}\x{123}\P
1346Partial match: \x{123}X\x{123}\x{123}\x{123}\x{123}
1347
1348/(\x{123})X\1{2,4}+b/8
1349    \x{123}X\P
1350Partial match: \x{123}X
1351    \x{123}X\x{123}\P
1352Partial match: \x{123}X\x{123}
1353    \x{123}X\x{123}\x{123}\P
1354Partial match: \x{123}X\x{123}\x{123}
1355    \x{123}X\x{123}\x{123}\x{123}\P
1356Partial match: \x{123}X\x{123}\x{123}\x{123}
1357    \x{123}X\x{123}\x{123}\x{123}\x{123}\P
1358Partial match: \x{123}X\x{123}\x{123}\x{123}\x{123}
1359
1360/\bthe cat\b/8
1361    the cat\P
1362 0: the cat
1363    the cat\P\P
1364Partial match: the cat
1365
1366/abcd*/8
1367    xxxxabcd\P
1368 0: abcd
1369    xxxxabcd\P\P
1370Partial match: abcd
1371
1372/abcd*/i8
1373    xxxxabcd\P
1374 0: abcd
1375    xxxxabcd\P\P
1376Partial match: abcd
1377    XXXXABCD\P
1378 0: ABCD
1379    XXXXABCD\P\P
1380Partial match: ABCD
1381
1382/abc\d*/8
1383    xxxxabc1\P
1384 0: abc1
1385    xxxxabc1\P\P
1386Partial match: abc1
1387
1388/(a)bc\1*/8
1389    xxxxabca\P
1390 0: abca
1391 1: a
1392    xxxxabca\P\P
1393Partial match: abca
1394
1395/abc[de]*/8
1396    xxxxabcde\P
1397 0: abcde
1398    xxxxabcde\P\P
1399Partial match: abcde
1400
1401/X\W{3}X/8
1402    \PX
1403Partial match: X
1404
1405/\sxxx\s/8T1
1406    AB\x{85}xxx\x{a0}XYZ
1407 0: \x{85}xxx\x{a0}
1408    AB\x{a0}xxx\x{85}XYZ
1409 0: \x{a0}xxx\x{85}
1410
1411/\S \S/8T1
1412    \x{a2} \x{84}
1413 0: \x{a2} \x{84}
1414
1415'A#хц'8x<any>BZ
1416------------------------------------------------------------------
1417        Bra
1418        A
1419        Ket
1420        End
1421------------------------------------------------------------------
1422
1423'A#хц
1424  PQ'8x<any>BZ
1425------------------------------------------------------------------
1426        Bra
1427        APQ
1428        Ket
1429        End
1430------------------------------------------------------------------
1431
1432/a+#хaa
1433  z#XX?/8x<any>BZ
1434------------------------------------------------------------------
1435        Bra
1436        a++
1437        z
1438        Ket
1439        End
1440------------------------------------------------------------------
1441
1442/a+#хaa
1443  z#х?/8x<any>BZ
1444------------------------------------------------------------------
1445        Bra
1446        a++
1447        z
1448        Ket
1449        End
1450------------------------------------------------------------------
1451
1452/\g{A}xxx#bXX(?'A'123)
1452(?'A'456)/8x<any>BZ
1453------------------------------------------------------------------
1454        Bra
1455        \1
1456        xxx
1457        CBra 1
1458        456
1459        Ket
1460        Ket
1461        End
1462------------------------------------------------------------------
1463
1464/\g{A}xxx#bх(?'A'123)
1464(?'A'456)/8x<any>BZ
1465------------------------------------------------------------------
1466        Bra
1467        \1
1468        xxx
1469        CBra 1
1470        456
1471        Ket
1472        Ket
1473        End
1474------------------------------------------------------------------
1475
1476/^\cģ/8
1477Failed: \c must be followed by an ASCII character at offset 3
1478
1479/(\R*)(.)/s8
1480    \r\n
1481 0: \x{0d}
1482 1:
1483 2: \x{0d}
1484    \r\r\n\n\r
1485 0: \x{0d}\x{0d}\x{0a}\x{0a}\x{0d}
1486 1: \x{0d}\x{0d}\x{0a}\x{0a}
1487 2: \x{0d}
1488    \r\r\n\n\r\n
1489 0: \x{0d}\x{0d}\x{0a}\x{0a}\x{0d}
1490 1: \x{0d}\x{0d}\x{0a}\x{0a}
1491 2: \x{0d}
1492
1493/(\R)*(.)/s8
1494    \r\n
1495 0: \x{0d}
1496 1: <unset>
1497 2: \x{0d}
1498    \r\r\n\n\r
1499 0: \x{0d}\x{0d}\x{0a}\x{0a}\x{0d}
1500 1: \x{0a}
1501 2: \x{0d}
1502    \r\r\n\n\r\n
1503 0: \x{0d}\x{0d}\x{0a}\x{0a}\x{0d}
1504 1: \x{0a}
1505 2: \x{0d}
1506
1507/[^\x{1234}]+/iS8I
1508Capturing subpattern count = 0
1509Options: caseless utf
1510No first char
1511No need char
1512Subject length lower bound = 1
1513No set of starting bytes
1514
1515/[^\x{1234}]+?/iS8I
1516Capturing subpattern count = 0
1517Options: caseless utf
1518No first char
1519No need char
1520Subject length lower bound = 1
1521No set of starting bytes
1522
1523/[^\x{1234}]++/iS8I
1524Capturing subpattern count = 0
1525Options: caseless utf
1526No first char
1527No need char
1528Subject length lower bound = 1
1529No set of starting bytes
1530
1531/[^\x{1234}]{2}/iS8I
1532Capturing subpattern count = 0
1533Options: caseless utf
1534No first char
1535No need char
1536Subject length lower bound = 2
1537No set of starting bytes
1538
1539//<bsr_anycrlf><bsr_unicode>
1540Failed: inconsistent NEWLINE options at offset 0
1541
1542/f.*/
1543    \P\Pfor
1544Partial match: for
1545
1546/f.*/s
1547    \P\Pfor
1548Partial match: for
1549
1550/f.*/8
1551    \P\Pfor
1552Partial match: for
1553
1554/f.*/8s
1555    \P\Pfor
1556Partial match: for
1557
1558/\x{d7ff}\x{e000}/8
1559
1560/\x{d800}/8
1561Failed: disallowed Unicode code point (>= 0xd800 && <= 0xdfff) at offset 7
1562
1563/\x{dfff}/8
1564Failed: disallowed Unicode code point (>= 0xd800 && <= 0xdfff) at offset 7
1565
1566/\h+/8
1567    \x{1681}\x{200b}\x{1680}\x{2000}\x{202f}\x{3000}
1568 0: \x{1680}\x{2000}\x{202f}\x{3000}
1569    \x{3001}\x{2fff}\x{200a}\x{a0}\x{2000}
1570 0: \x{200a}\x{a0}\x{2000}
1571
1572/[\h\x{e000}]+/8BZ
1573------------------------------------------------------------------
1574        Bra
1575        [\x09 \xa0\x{1680}\x{180e}\x{2000}-\x{200a}\x{202f}\x{205f}\x{3000}\x{e000}]+
1576        Ket
1577        End
1578------------------------------------------------------------------
1579    \x{1681}\x{200b}\x{1680}\x{2000}\x{202f}\x{3000}
1580 0: \x{1680}\x{2000}\x{202f}\x{3000}
1581    \x{3001}\x{2fff}\x{200a}\x{a0}\x{2000}
1582 0: \x{200a}\x{a0}\x{2000}
1583
1584/\H+/8
1585    \x{1680}\x{180e}\x{167f}\x{1681}\x{180d}\x{180f}
1586 0: \x{167f}\x{1681}\x{180d}\x{180f}
1587    \x{2000}\x{200a}\x{1fff}\x{200b}
1588 0: \x{1fff}\x{200b}
1589    \x{202f}\x{205f}\x{202e}\x{2030}\x{205e}\x{2060}
1590 0: \x{202e}\x{2030}\x{205e}\x{2060}
1591    \x{a0}\x{3000}\x{9f}\x{a1}\x{2fff}\x{3001}
1592 0: \x{9f}\x{a1}\x{2fff}\x{3001}
1593
1594/[\H\x{d7ff}]+/8BZ
1595------------------------------------------------------------------
1596        Bra
1597        [\x00-\x08\x0a-\x1f!-\x9f\x{a1}-\x{167f}\x{1681}-\x{180d}\x{180f}-\x{1fff}\x{200b}-\x{202e}\x{2030}-\x{205e}\x{2060}-\x{2fff}\x{3001}-\x{10ffff}\x{d7ff}]+
1598        Ket
1599        End
1600------------------------------------------------------------------
1601    \x{1680}\x{180e}\x{167f}\x{1681}\x{180d}\x{180f}
1602 0: \x{167f}\x{1681}\x{180d}\x{180f}
1603    \x{2000}\x{200a}\x{1fff}\x{200b}
1604 0: \x{1fff}\x{200b}
1605    \x{202f}\x{205f}\x{202e}\x{2030}\x{205e}\x{2060}
1606 0: \x{202e}\x{2030}\x{205e}\x{2060}
1607    \x{a0}\x{3000}\x{9f}\x{a1}\x{2fff}\x{3001}
1608 0: \x{9f}\x{a1}\x{2fff}\x{3001}
1609
1610/\v+/8
1611    \x{2027}\x{2030}\x{2028}\x{2029}
1612 0: \x{2028}\x{2029}
1613    \x09\x0e\x{84}\x{86}\x{85}\x0a\x0b\x0c\x0d
1614 0: \x{85}\x{0a}\x{0b}\x{0c}\x{0d}
1615
1616/[\v\x{e000}]+/8BZ
1617------------------------------------------------------------------
1618        Bra
1619        [\x0a-\x0d\x85\x{2028}-\x{2029}\x{e000}]+
1620        Ket
1621        End
1622------------------------------------------------------------------
1623    \x{2027}\x{2030}\x{2028}\x{2029}
1624 0: \x{2028}\x{2029}
1625    \x09\x0e\x{84}\x{86}\x{85}\x0a\x0b\x0c\x0d
1626 0: \x{85}\x{0a}\x{0b}\x{0c}\x{0d}
1627
1628/\V+/8
1629    \x{2028}\x{2029}\x{2027}\x{2030}
1630 0: \x{2027}\x{2030}
1631    \x{85}\x0a\x0b\x0c\x0d\x09\x0e\x{84}\x{86}
1632 0: \x{09}\x{0e}\x{84}\x{86}
1633
1634/[\V\x{d7ff}]+/8BZ
1635------------------------------------------------------------------
1636        Bra
1637        [\x00-\x09\x0e-\x84\x{86}-\x{2027}\x{202a}-\x{10ffff}\x{d7ff}]+
1638        Ket
1639        End
1640------------------------------------------------------------------
1641    \x{2028}\x{2029}\x{2027}\x{2030}
1642 0: \x{2027}\x{2030}
1643    \x{85}\x0a\x0b\x0c\x0d\x09\x0e\x{84}\x{86}
1644 0: \x{09}\x{0e}\x{84}\x{86}
1645
1646/\R+/8<bsr_unicode>
1647    \x{2027}\x{2030}\x{2028}\x{2029}
1648 0: \x{2028}\x{2029}
1649    \x09\x0e\x{84}\x{86}\x{85}\x0a\x0b\x0c\x0d
1650 0: \x{85}\x{0a}\x{0b}\x{0c}\x{0d}
1651
1652/(..)\1/8
1653    ab\P
1654Partial match: ab
1655    aba\P
1656Partial match: aba
1657    abab\P
1658 0: abab
1659 1: ab
1660
1661/(..)\1/8i
1662    ab\P
1663Partial match: ab
1664    abA\P
1665Partial match: abA
1666    aBAb\P
1667 0: aBAb
1668 1: aB
1669
1670/(..)\1{2,}/8
1671    ab\P
1672Partial match: ab
1673    aba\P
1674Partial match: aba
1675    abab\P
1676Partial match: abab
1677    ababa\P
1678Partial match: ababa
1679    ababab\P
1680 0: ababab
1681 1: ab
1682    ababab\P\P
1683Partial match: ababab
1684    abababa\P
1685 0: ababab
1686 1: ab
1687    abababa\P\P
1688Partial match: abababa
1689
1690/(..)\1{2,}/8i
1691    ab\P
1692Partial match: ab
1693    aBa\P
1694Partial match: aBa
1695    aBAb\P
1696Partial match: aBAb
1697    AbaBA\P
1698Partial match: AbaBA
1699    abABAb\P
1700 0: abABAb
1701 1: ab
1702    aBAbaB\P\P
1703Partial match: aBAbaB
1704    abABabA\P
1705 0: abABab
1706 1: ab
1707    abaBABa\P\P
1708Partial match: abaBABa
1709
1710/(..)\1{2,}?x/8i
1711    ab\P
1712Partial match: ab
1713    abA\P
1714Partial match: abA
1715    aBAb\P
1716Partial match: aBAb
1717    abaBA\P
1718Partial match: abaBA
1719    abAbaB\P
1720Partial match: abAbaB
1721    abaBabA\P
1722Partial match: abaBabA
1723    abAbABaBx\P
1724 0: abAbABaBx
1725 1: ab
1726
1727/./8<CRLF>
1728    \r\P
1729 0: \x{0d}
1730    \r\P\P
1731Partial match: \x{0d}
1732
1733/.{2,3}/8<CRLF>
1734    \r\P
1735Partial match: \x{0d}
1736    \r\P\P
1737Partial match: \x{0d}
1738    \r\r\P
1739 0: \x{0d}\x{0d}
1740    \r\r\P\P
1741Partial match: \x{0d}\x{0d}
1742    \r\r\r\P
1743 0: \x{0d}\x{0d}\x{0d}
1744    \r\r\r\P\P
1745Partial match: \x{0d}\x{0d}\x{0d}
1746
1747/.{2,3}?/8<CRLF>
1748    \r\P
1749Partial match: \x{0d}
1750    \r\P\P
1751Partial match: \x{0d}
1752    \r\r\P
1753 0: \x{0d}\x{0d}
1754    \r\r\P\P
1755Partial match: \x{0d}\x{0d}
1756    \r\r\r\P
1757 0: \x{0d}\x{0d}
1758    \r\r\r\P\P
1759 0: \x{0d}\x{0d}
1760
1761/[^\x{100}][^\x{1234}][^\x{ffff}][^\x{10000}][^\x{10ffff}]/8BZ
1762------------------------------------------------------------------
1763        Bra
1764        [^\x{100}]
1765        [^\x{1234}]
1766        [^\x{ffff}]
1767        [^\x{10000}]
1768        [^\x{10ffff}]
1769        Ket
1770        End
1771------------------------------------------------------------------
1772
1773/[^\x{100}][^\x{1234}][^\x{ffff}][^\x{10000}][^\x{10ffff}]/8BZi
1774------------------------------------------------------------------
1775        Bra
1776     /i [^\x{100}]
1777     /i [^\x{1234}]
1778     /i [^\x{ffff}]
1779     /i [^\x{10000}]
1780     /i [^\x{10ffff}]
1781        Ket
1782        End
1783------------------------------------------------------------------
1784
1785/[^\x{100}]*[^\x{10000}]+[^\x{10ffff}]??[^\x{8000}]{4,}[^\x{7fff}]{2,9}?[^\x{fffff}]{5,6}+/8BZ
1786------------------------------------------------------------------
1787        Bra
1788        [^\x{100}]*
1789        [^\x{10000}]+
1790        [^\x{10ffff}]??
1791        [^\x{8000}]{4}
1792        [^\x{8000}]*
1793        [^\x{7fff}]{2}
1794        [^\x{7fff}]{0,7}?
1795        [^\x{fffff}]{5}
1796        [^\x{fffff}]?+
1797        Ket
1798        End
1799------------------------------------------------------------------
1800
1801/[^\x{100}]*[^\x{10000}]+[^\x{10ffff}]??[^\x{8000}]{4,}[^\x{7fff}]{2,9}?[^\x{fffff}]{5,6}+/8BZi
1802------------------------------------------------------------------
1803        Bra
1804     /i [^\x{100}]*
1805     /i [^\x{10000}]+
1806     /i [^\x{10ffff}]??
1807     /i [^\x{8000}]{4}
1808     /i [^\x{8000}]*
1809     /i [^\x{7fff}]{2}
1810     /i [^\x{7fff}]{0,7}?
1811        Once
1812     /i [^\x{fffff}]{5}
1813     /i [^\x{fffff}]?
1814        Ket
1815        Ket
1816        End
1817------------------------------------------------------------------
1818
1819/(?<=\x{1234}\x{1234})\bxy/I8
1820Capturing subpattern count = 0
1821Options: utf
1822First char = 'x'
1823Need char = 'y'
1824Max lookbehind = 2
1825
1826/(?<!^)ETA/8
1827    ETA
1828No match
1829
1830/\u0100/<JS>8BZ
1831------------------------------------------------------------------
1832        Bra
1833        \x{100}
1834        Ket
1835        End
1836------------------------------------------------------------------
1837
1838/[\u0100-\u0200]/<JS>8BZ
1839------------------------------------------------------------------
1840        Bra
1841        [\x{100}-\x{200}]
1842        Ket
1843        End
1844------------------------------------------------------------------
1845
1846/\ud800/<JS>8
1847Failed: disallowed Unicode code point (>= 0xd800 && <= 0xdfff) at offset 5
1848
1849/-- End of testinput5 --/
1850