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