xref: /PHP-7.0/ext/pcre/pcrelib/testdata/testoutput10 (revision 23917b45)
1/-- This set of tests check Unicode property support with the DFA matching
2    functionality of pcre_dfa_exec(). The -dfa flag must be used with pcretest
3    when running it. --/
4
5/\pL\P{Nd}/8
6    AB
7 0: AB
8    *** Failers
9 0: Fa
10    A0
11No match
12    00
13No match
14
15/\X./8
16    AB
17 0: AB
18    A\x{300}BC
19 0: A\x{300}B
20    A\x{300}\x{301}\x{302}BC
21 0: A\x{300}\x{301}\x{302}B
22    *** Failers
23 0: **
24    \x{300}
25No match
26
27/\X\X/8
28    ABC
29 0: AB
30    A\x{300}B\x{300}\x{301}C
31 0: A\x{300}B\x{300}\x{301}
32    A\x{300}\x{301}\x{302}BC
33 0: A\x{300}\x{301}\x{302}B
34    *** Failers
35 0: **
36    \x{300}
37No match
38
39/^\pL+/8
40    abcd
41 0: abcd
42    a
43 0: a
44    *** Failers
45No match
46
47/^\PL+/8
48    1234
49 0: 1234
50    =
51 0: =
52    *** Failers
53 0: ***
54    abcd
55No match
56
57/^\X+/8
58    abcdA\x{300}\x{301}\x{302}
59 0: abcdA\x{300}\x{301}\x{302}
60    A\x{300}\x{301}\x{302}
61 0: A\x{300}\x{301}\x{302}
62    A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}
63 0: A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}
64    a
65 0: a
66    *** Failers
67 0: *** Failers
68    \x{300}\x{301}\x{302}
69 0: \x{300}\x{301}\x{302}
70
71/\X?abc/8
72    abc
73 0: abc
74    A\x{300}abc
75 0: A\x{300}abc
76    A\x{300}\x{301}\x{302}A\x{300}A\x{300}A\x{300}abcxyz
77 0: A\x{300}abc
78    \x{300}abc
79 0: \x{300}abc
80    *** Failers
81No match
82
83/^\X?abc/8
84    abc
85 0: abc
86    A\x{300}abc
87 0: A\x{300}abc
88    *** Failers
89No match
90    A\x{300}\x{301}\x{302}A\x{300}A\x{300}A\x{300}abcxyz
91No match
92    \x{300}abc
93 0: \x{300}abc
94
95/\X*abc/8
96    abc
97 0: abc
98    A\x{300}abc
99 0: A\x{300}abc
100    A\x{300}\x{301}\x{302}A\x{300}A\x{300}A\x{300}abcxyz
101 0: A\x{300}\x{301}\x{302}A\x{300}A\x{300}A\x{300}abc
102    \x{300}abc
103 0: \x{300}abc
104    *** Failers
105No match
106
107/^\X*abc/8
108    abc
109 0: abc
110    A\x{300}abc
111 0: A\x{300}abc
112    A\x{300}\x{301}\x{302}A\x{300}A\x{300}A\x{300}abcxyz
113 0: A\x{300}\x{301}\x{302}A\x{300}A\x{300}A\x{300}abc
114    *** Failers
115No match
116    \x{300}abc
117 0: \x{300}abc
118
119/^\pL?=./8
120    A=b
121 0: A=b
122    =c
123 0: =c
124    *** Failers
125No match
126    1=2
127No match
128    AAAA=b
129No match
130
131/^\pL*=./8
132    AAAA=b
133 0: AAAA=b
134    =c
135 0: =c
136    *** Failers
137No match
138    1=2
139No match
140
141/^\X{2,3}X/8
142    A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}X
143 0: A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}X
144    A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}X
145 0: A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}X
146    *** Failers
147No match
148    X
149No match
150    A\x{300}\x{301}\x{302}X
151No match
152    A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}X
153No match
154
155/^\pC\pL\pM\pN\pP\pS\pZ</8
156    \x7f\x{c0}\x{30f}\x{660}\x{66c}\x{f01}\x{1680}<
157 0: \x{7f}\x{c0}\x{30f}\x{660}\x{66c}\x{f01}\x{1680}<
158    \np\x{300}9!\$ <
159 0: \x{0a}p\x{300}9!$ <
160    ** Failers
161No match
162    ap\x{300}9!\$ <
163No match
164
165/^\PC/8
166    X
167 0: X
168    ** Failers
169 0: *
170    \x7f
171No match
172
173/^\PL/8
174    9
175 0: 9
176    ** Failers
177 0: *
178    \x{c0}
179No match
180
181/^\PM/8
182    X
183 0: X
184    ** Failers
185 0: *
186    \x{30f}
187No match
188
189/^\PN/8
190    X
191 0: X
192    ** Failers
193 0: *
194    \x{660}
195No match
196
197/^\PP/8
198    X
199 0: X
200    ** Failers
201No match
202    \x{66c}
203No match
204
205/^\PS/8
206    X
207 0: X
208    ** Failers
209 0: *
210    \x{f01}
211No match
212
213/^\PZ/8
214    X
215 0: X
216    ** Failers
217 0: *
218    \x{1680}
219No match
220
221/^\p{Cc}/8
222    \x{017}
223 0: \x{17}
224    \x{09f}
225 0: \x{9f}
226    ** Failers
227No match
228    \x{0600}
229No match
230
231/^\p{Cf}/8
232    \x{601}
233 0: \x{601}
234    \x{180e}
235 0: \x{180e}
236    \x{061c}
237 0: \x{61c}
238    \x{2066}
239 0: \x{2066}
240    \x{2067}
241 0: \x{2067}
242    \x{2068}
243 0: \x{2068}
244    \x{2069}
245 0: \x{2069}
246    ** Failers
247No match
248    \x{09f}
249No match
250
251/^\p{Cn}/8
252    ** Failers
253No match
254    \x{09f}
255No match
256
257/^\p{Co}/8
258    \x{f8ff}
259 0: \x{f8ff}
260    ** Failers
261No match
262    \x{09f}
263No match
264
265/^\p{Cs}/8
266    \?\x{dfff}
267 0: \x{dfff}
268    ** Failers
269No match
270    \x{09f}
271No match
272
273/^\p{Ll}/8
274    a
275 0: a
276    ** Failers
277No match
278    Z
279No match
280    \x{e000}
281No match
282
283/^\p{Lm}/8
284    \x{2b0}
285 0: \x{2b0}
286    ** Failers
287No match
288    a
289No match
290
291/^\p{Lo}/8
292    \x{1bb}
293 0: \x{1bb}
294    ** Failers
295No match
296    a
297No match
298    \x{2b0}
299No match
300
301/^\p{Lt}/8
302    \x{1c5}
303 0: \x{1c5}
304    ** Failers
305No match
306    a
307No match
308    \x{2b0}
309No match
310
311/^\p{Lu}/8
312    A
313 0: A
314    ** Failers
315No match
316    \x{2b0}
317No match
318
319/^\p{Mc}/8
320    \x{903}
321 0: \x{903}
322    ** Failers
323No match
324    X
325No match
326    \x{300}
327No match
328
329/^\p{Me}/8
330    \x{488}
331 0: \x{488}
332    ** Failers
333No match
334    X
335No match
336    \x{903}
337No match
338    \x{300}
339No match
340
341/^\p{Mn}/8
342    \x{300}
343 0: \x{300}
344    \x{1a1b}
345 0: \x{1a1b}
346    ** Failers
347No match
348    X
349No match
350    \x{903}
351No match
352
353/^\p{Nd}+/8O
354    0123456789\x{660}\x{661}\x{662}\x{663}\x{664}\x{665}\x{666}\x{667}\x{668}\x{669}\x{66a}
355 0: 0123456789\x{660}\x{661}\x{662}\x{663}\x{664}\x{665}\x{666}\x{667}\x{668}\x{669}
356 1: 0123456789\x{660}\x{661}\x{662}\x{663}\x{664}\x{665}\x{666}\x{667}\x{668}
357 2: 0123456789\x{660}\x{661}\x{662}\x{663}\x{664}\x{665}\x{666}\x{667}
358 3: 0123456789\x{660}\x{661}\x{662}\x{663}\x{664}\x{665}\x{666}
359 4: 0123456789\x{660}\x{661}\x{662}\x{663}\x{664}\x{665}
360 5: 0123456789\x{660}\x{661}\x{662}\x{663}\x{664}
361 6: 0123456789\x{660}\x{661}\x{662}\x{663}
362 7: 0123456789\x{660}\x{661}\x{662}
363 8: 0123456789\x{660}\x{661}
364 9: 0123456789\x{660}
36510: 0123456789
36611: 012345678
36712: 01234567
36813: 0123456
36914: 012345
37015: 01234
37116: 0123
37217: 012
37318: 01
37419: 0
375    \x{6f0}\x{6f1}\x{6f2}\x{6f3}\x{6f4}\x{6f5}\x{6f6}\x{6f7}\x{6f8}\x{6f9}\x{6fa}
376 0: \x{6f0}\x{6f1}\x{6f2}\x{6f3}\x{6f4}\x{6f5}\x{6f6}\x{6f7}\x{6f8}\x{6f9}
377 1: \x{6f0}\x{6f1}\x{6f2}\x{6f3}\x{6f4}\x{6f5}\x{6f6}\x{6f7}\x{6f8}
378 2: \x{6f0}\x{6f1}\x{6f2}\x{6f3}\x{6f4}\x{6f5}\x{6f6}\x{6f7}
379 3: \x{6f0}\x{6f1}\x{6f2}\x{6f3}\x{6f4}\x{6f5}\x{6f6}
380 4: \x{6f0}\x{6f1}\x{6f2}\x{6f3}\x{6f4}\x{6f5}
381 5: \x{6f0}\x{6f1}\x{6f2}\x{6f3}\x{6f4}
382 6: \x{6f0}\x{6f1}\x{6f2}\x{6f3}
383 7: \x{6f0}\x{6f1}\x{6f2}
384 8: \x{6f0}\x{6f1}
385 9: \x{6f0}
386    \x{966}\x{967}\x{968}\x{969}\x{96a}\x{96b}\x{96c}\x{96d}\x{96e}\x{96f}\x{970}
387 0: \x{966}\x{967}\x{968}\x{969}\x{96a}\x{96b}\x{96c}\x{96d}\x{96e}\x{96f}
388 1: \x{966}\x{967}\x{968}\x{969}\x{96a}\x{96b}\x{96c}\x{96d}\x{96e}
389 2: \x{966}\x{967}\x{968}\x{969}\x{96a}\x{96b}\x{96c}\x{96d}
390 3: \x{966}\x{967}\x{968}\x{969}\x{96a}\x{96b}\x{96c}
391 4: \x{966}\x{967}\x{968}\x{969}\x{96a}\x{96b}
392 5: \x{966}\x{967}\x{968}\x{969}\x{96a}
393 6: \x{966}\x{967}\x{968}\x{969}
394 7: \x{966}\x{967}\x{968}
395 8: \x{966}\x{967}
396 9: \x{966}
397    ** Failers
398No match
399    X
400No match
401
402/^\p{Nl}/8
403    \x{16ee}
404 0: \x{16ee}
405    ** Failers
406No match
407    X
408No match
409    \x{966}
410No match
411
412/^\p{No}/8
413    \x{b2}
414 0: \x{b2}
415    \x{b3}
416 0: \x{b3}
417    ** Failers
418No match
419    X
420No match
421    \x{16ee}
422No match
423
424/^\p{Pc}/8
425    \x5f
426 0: _
427    \x{203f}
428 0: \x{203f}
429    ** Failers
430No match
431    X
432No match
433    -
434No match
435    \x{58a}
436No match
437
438/^\p{Pd}/8
439    -
440 0: -
441    \x{58a}
442 0: \x{58a}
443    ** Failers
444No match
445    X
446No match
447    \x{203f}
448No match
449
450/^\p{Pe}/8
451    )
452 0: )
453    ]
454 0: ]
455    }
456 0: }
457    \x{f3b}
458 0: \x{f3b}
459    \x{2309}
460 0: \x{2309}
461    \x{230b}
462 0: \x{230b}
463    ** Failers
464No match
465    X
466No match
467    \x{203f}
468No match
469    (
470No match
471    [
472No match
473    {
474No match
475    \x{f3c}
476No match
477
478/^\p{Pf}/8
479    \x{bb}
480 0: \x{bb}
481    \x{2019}
482 0: \x{2019}
483    ** Failers
484No match
485    X
486No match
487    \x{203f}
488No match
489
490/^\p{Pi}/8
491    \x{ab}
492 0: \x{ab}
493    \x{2018}
494 0: \x{2018}
495    ** Failers
496No match
497    X
498No match
499    \x{203f}
500No match
501
502/^\p{Po}/8
503    !
504 0: !
505    \x{37e}
506 0: \x{37e}
507    ** Failers
508 0: *
509    X
510No match
511    \x{203f}
512No match
513
514/^\p{Ps}/8
515    (
516 0: (
517    [
518 0: [
519    {
520 0: {
521    \x{f3c}
522 0: \x{f3c}
523    \x{2308}
524 0: \x{2308}
525    \x{230a}
526 0: \x{230a}
527    ** Failers
528No match
529    X
530No match
531    )
532No match
533    ]
534No match
535    }
536No match
537    \x{f3b}
538No match
539
540/^\p{Sc}+/8
541    $\x{a2}\x{a3}\x{a4}\x{a5}\x{a6}
542 0: $\x{a2}\x{a3}\x{a4}\x{a5}
543    \x{9f2}
544 0: \x{9f2}
545    ** Failers
546No match
547    X
548No match
549    \x{2c2}
550No match
551
552/^\p{Sk}/8
553    \x{2c2}
554 0: \x{2c2}
555    ** Failers
556No match
557    X
558No match
559    \x{9f2}
560No match
561
562/^\p{Sm}+/8
563    +<|~\x{ac}\x{2044}
564 0: +<|~\x{ac}\x{2044}
565    ** Failers
566No match
567    X
568No match
569    \x{9f2}
570No match
571
572/^\p{So}/8
573    \x{a6}
574 0: \x{a6}
575    \x{482}
576 0: \x{482}
577    ** Failers
578No match
579    X
580No match
581    \x{9f2}
582No match
583
584/^\p{Zl}/8
585    \x{2028}
586 0: \x{2028}
587    ** Failers
588No match
589    X
590No match
591    \x{2029}
592No match
593
594/^\p{Zp}/8
595    \x{2029}
596 0: \x{2029}
597    ** Failers
598No match
599    X
600No match
601    \x{2028}
602No match
603
604/^\p{Zs}/8
605    \ \
606 0:
607    \x{a0}
608 0: \x{a0}
609    \x{1680}
610 0: \x{1680}
611    \x{2000}
612 0: \x{2000}
613    \x{2001}
614 0: \x{2001}
615    ** Failers
616No match
617    \x{2028}
618No match
619    \x{200d}
620No match
621
622/\p{Nd}+(..)/8
623      \x{660}\x{661}\x{662}ABC
624 0: \x{660}\x{661}\x{662}AB
625 1: \x{660}\x{661}\x{662}A
626 2: \x{660}\x{661}\x{662}
627
628/\p{Nd}+?(..)/8
629      \x{660}\x{661}\x{662}ABC
630 0: \x{660}\x{661}\x{662}AB
631 1: \x{660}\x{661}\x{662}A
632 2: \x{660}\x{661}\x{662}
633
634/\p{Nd}{2,}(..)/8
635      \x{660}\x{661}\x{662}ABC
636 0: \x{660}\x{661}\x{662}AB
637 1: \x{660}\x{661}\x{662}A
638
639/\p{Nd}{2,}?(..)/8
640      \x{660}\x{661}\x{662}ABC
641 0: \x{660}\x{661}\x{662}AB
642 1: \x{660}\x{661}\x{662}A
643
644/\p{Nd}*(..)/8
645      \x{660}\x{661}\x{662}ABC
646 0: \x{660}\x{661}\x{662}AB
647 1: \x{660}\x{661}\x{662}A
648 2: \x{660}\x{661}\x{662}
649 3: \x{660}\x{661}
650
651/\p{Nd}*?(..)/8
652      \x{660}\x{661}\x{662}ABC
653 0: \x{660}\x{661}\x{662}AB
654 1: \x{660}\x{661}\x{662}A
655 2: \x{660}\x{661}\x{662}
656 3: \x{660}\x{661}
657
658/\p{Nd}{2}(..)/8
659      \x{660}\x{661}\x{662}ABC
660 0: \x{660}\x{661}\x{662}A
661
662/\p{Nd}{2,3}(..)/8
663      \x{660}\x{661}\x{662}ABC
664 0: \x{660}\x{661}\x{662}AB
665 1: \x{660}\x{661}\x{662}A
666
667/\p{Nd}{2,3}?(..)/8
668      \x{660}\x{661}\x{662}ABC
669 0: \x{660}\x{661}\x{662}AB
670 1: \x{660}\x{661}\x{662}A
671
672/\p{Nd}?(..)/8
673      \x{660}\x{661}\x{662}ABC
674 0: \x{660}\x{661}\x{662}
675 1: \x{660}\x{661}
676
677/\p{Nd}??(..)/8
678      \x{660}\x{661}\x{662}ABC
679 0: \x{660}\x{661}\x{662}
680 1: \x{660}\x{661}
681
682/\p{Nd}*+(..)/8
683      \x{660}\x{661}\x{662}ABC
684 0: \x{660}\x{661}\x{662}AB
685
686/\p{Nd}*+(...)/8
687      \x{660}\x{661}\x{662}ABC
688 0: \x{660}\x{661}\x{662}ABC
689
690/\p{Nd}*+(....)/8
691      ** Failers
692 0: ** F
693      \x{660}\x{661}\x{662}ABC
694No match
695
696/\p{Lu}/8i
697    A
698 0: A
699    a\x{10a0}B
700 0: \x{10a0}
701    ** Failers
702 0: F
703    a
704No match
705    \x{1d00}
706No match
707
708/\p{^Lu}/8i
709    1234
710 0: 1
711    ** Failers
712 0: *
713    ABC
714No match
715
716/\P{Lu}/8i
717    1234
718 0: 1
719    ** Failers
720 0: *
721    ABC
722No match
723
724/(?<=A\p{Nd})XYZ/8
725    A2XYZ
726 0: XYZ
727    123A5XYZPQR
728 0: XYZ
729    ABA\x{660}XYZpqr
730 0: XYZ
731    ** Failers
732No match
733    AXYZ
734No match
735    XYZ
736No match
737
738/(?<!\pL)XYZ/8
739    1XYZ
740 0: XYZ
741    AB=XYZ..
742 0: XYZ
743    XYZ
744 0: XYZ
745    ** Failers
746No match
747    WXYZ
748No match
749
750/[\p{Nd}]/8
751    1234
752 0: 1
753
754/[\p{Nd}+-]+/8
755    1234
756 0: 1234
757    12-34
758 0: 12-34
759    12+\x{661}-34
760 0: 12+\x{661}-34
761    ** Failers
762No match
763    abcd
764No match
765
766/[\P{Nd}]+/8
767    abcd
768 0: abcd
769    ** Failers
770 0: ** Failers
771    1234
772No match
773
774/\D+/8O
775    11111111111111111111111111111111111111111111111111111111111111111111111
776No match
777    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
778Matched, but offsets vector is too small to show all matches
779 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
780 1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
781 2: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
782 3: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
783 4: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
784 5: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
785 6: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
786 7: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
787 8: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
788 9: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
78910: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
79011: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
79112: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
79213: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
79314: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
79415: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
79516: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
79617: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
79718: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
79819: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
79920: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
80021: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
801
802/\P{Nd}+/8O
803    11111111111111111111111111111111111111111111111111111111111111111111111
804No match
805    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
806Matched, but offsets vector is too small to show all matches
807 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
808 1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
809 2: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
810 3: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
811 4: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
812 5: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
813 6: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
814 7: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
815 8: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
816 9: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
81710: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
81811: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
81912: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
82013: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
82114: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
82215: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
82316: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
82417: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
82518: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
82619: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
82720: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
82821: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
829
830/[\D]+/8O
831    11111111111111111111111111111111111111111111111111111111111111111111111
832No match
833    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
834Matched, but offsets vector is too small to show all matches
835 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
836 1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
837 2: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
838 3: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
839 4: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
840 5: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
841 6: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
842 7: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
843 8: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
844 9: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
84510: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
84611: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
84712: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
84813: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
84914: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
85015: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
85116: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
85217: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
85318: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
85419: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
85520: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
85621: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
857
858/[\P{Nd}]+/8O
859    11111111111111111111111111111111111111111111111111111111111111111111111
860No match
861    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
862Matched, but offsets vector is too small to show all matches
863 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
864 1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
865 2: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
866 3: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
867 4: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
868 5: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
869 6: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
870 7: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
871 8: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
872 9: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
87310: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
87411: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
87512: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
87613: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
87714: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
87815: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
87916: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
88017: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
88118: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
88219: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
88320: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
88421: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
885
886/[\D\P{Nd}]+/8O
887    11111111111111111111111111111111111111111111111111111111111111111111111
888No match
889    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
890Matched, but offsets vector is too small to show all matches
891 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
892 1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
893 2: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
894 3: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
895 4: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
896 5: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
897 6: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
898 7: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
899 8: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
900 9: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
90110: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
90211: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
90312: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
90413: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
90514: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
90615: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
90716: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
90817: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
90918: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
91019: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
91120: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
91221: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
913
914/\pL/8
915    a
916 0: a
917    A
918 0: A
919
920/\pL/8i
921    a
922 0: a
923    A
924 0: A
925
926/\p{Lu}/8
927    A
928 0: A
929    aZ
930 0: Z
931    ** Failers
932 0: F
933    abc
934No match
935
936/\p{Lu}/8i
937    A
938 0: A
939    aZ
940 0: Z
941    ** Failers
942 0: F
943    abc
944No match
945
946/\p{Ll}/8
947    a
948 0: a
949    Az
950 0: z
951    ** Failers
952 0: a
953    ABC
954No match
955
956/\p{Ll}/8i
957    a
958 0: a
959    Az
960 0: z
961    ** Failers
962 0: a
963    ABC
964No match
965
966/^\x{c0}$/8i
967    \x{c0}
968 0: \x{c0}
969    \x{e0}
970 0: \x{e0}
971
972/^\x{e0}$/8i
973    \x{c0}
974 0: \x{c0}
975    \x{e0}
976 0: \x{e0}
977
978/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8
979    A\x{391}\x{10427}\x{ff3a}\x{1fb0}
980 0: A\x{391}\x{10427}\x{ff3a}\x{1fb0}
981    ** Failers
982No match
983    a\x{391}\x{10427}\x{ff3a}\x{1fb0}
984No match
985    A\x{3b1}\x{10427}\x{ff3a}\x{1fb0}
986No match
987    A\x{391}\x{1044F}\x{ff3a}\x{1fb0}
988No match
989    A\x{391}\x{10427}\x{ff5a}\x{1fb0}
990No match
991    A\x{391}\x{10427}\x{ff3a}\x{1fb8}
992No match
993
994/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8i
995    A\x{391}\x{10427}\x{ff3a}\x{1fb0}
996 0: A\x{391}\x{10427}\x{ff3a}\x{1fb0}
997    a\x{391}\x{10427}\x{ff3a}\x{1fb0}
998 0: a\x{391}\x{10427}\x{ff3a}\x{1fb0}
999    A\x{3b1}\x{10427}\x{ff3a}\x{1fb0}
1000 0: A\x{3b1}\x{10427}\x{ff3a}\x{1fb0}
1001    A\x{391}\x{1044F}\x{ff3a}\x{1fb0}
1002 0: A\x{391}\x{1044f}\x{ff3a}\x{1fb0}
1003    A\x{391}\x{10427}\x{ff5a}\x{1fb0}
1004 0: A\x{391}\x{10427}\x{ff5a}\x{1fb0}
1005    A\x{391}\x{10427}\x{ff3a}\x{1fb8}
1006 0: A\x{391}\x{10427}\x{ff3a}\x{1fb8}
1007
1008/\x{391}+/8i
1009    \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}
1010 0: \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}
1011
1012/\x{391}{3,5}(.)/8i
1013    \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X
1014 0: \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X
1015 1: \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}
1016 2: \x{391}\x{3b1}\x{3b1}\x{3b1}
1017
1018/\x{391}{3,5}?(.)/8i
1019    \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X
1020 0: \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X
1021 1: \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}
1022 2: \x{391}\x{3b1}\x{3b1}\x{3b1}
1023
1024/[\x{391}\x{ff3a}]/8i
1025    \x{391}
1026 0: \x{391}
1027    \x{ff3a}
1028 0: \x{ff3a}
1029    \x{3b1}
1030 0: \x{3b1}
1031    \x{ff5a}
1032 0: \x{ff5a}
1033
1034/[\x{c0}\x{391}]/8i
1035    \x{c0}
1036 0: \x{c0}
1037    \x{e0}
1038 0: \x{e0}
1039
1040/[\x{105}-\x{109}]/8i
1041    \x{104}
1042 0: \x{104}
1043    \x{105}
1044 0: \x{105}
1045    \x{109}
1046 0: \x{109}
1047    ** Failers
1048No match
1049    \x{100}
1050No match
1051    \x{10a}
1052No match
1053
1054/[z-\x{100}]/8i
1055    Z
1056 0: Z
1057    z
1058 0: z
1059    \x{39c}
1060 0: \x{39c}
1061    \x{178}
1062 0: \x{178}
1063    |
1064 0: |
1065    \x{80}
1066 0: \x{80}
1067    \x{ff}
1068 0: \x{ff}
1069    \x{100}
1070 0: \x{100}
1071    \x{101}
1072 0: \x{101}
1073    ** Failers
1074No match
1075    \x{102}
1076No match
1077    Y
1078No match
1079    y
1080No match
1081
1082/[z-\x{100}]/8i
1083
1084/^\X/8
1085    A
1086 0: A
1087    A\x{300}BC
1088 0: A\x{300}
1089    A\x{300}\x{301}\x{302}BC
1090 0: A\x{300}\x{301}\x{302}
1091    *** Failers
1092 0: *
1093    \x{300}
1094 0: \x{300}
1095
1096/^[\X]/8
1097    X123
1098 0: X
1099    *** Failers
1100No match
1101    AXYZ
1102No match
1103
1104/^(\X*)C/8
1105    A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
1106 0: A\x{300}\x{301}\x{302}BC
1107    A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
1108 0: A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
1109 1: A\x{300}\x{301}\x{302}BC
1110
1111/^(\X*?)C/8
1112    A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
1113 0: A\x{300}\x{301}\x{302}BC
1114    A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
1115 0: A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
1116 1: A\x{300}\x{301}\x{302}BC
1117
1118/^(\X*)(.)/8
1119    A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
1120 0: A\x{300}\x{301}\x{302}BCA
1121 1: A\x{300}\x{301}\x{302}BC
1122 2: A\x{300}\x{301}\x{302}B
1123 3: A
1124    A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
1125 0: A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
1126 1: A\x{300}\x{301}\x{302}BCA
1127 2: A\x{300}\x{301}\x{302}BC
1128 3: A\x{300}\x{301}\x{302}B
1129 4: A
1130
1131/^(\X*?)(.)/8
1132    A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
1133 0: A\x{300}\x{301}\x{302}BCA
1134 1: A\x{300}\x{301}\x{302}BC
1135 2: A\x{300}\x{301}\x{302}B
1136 3: A
1137    A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
1138 0: A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
1139 1: A\x{300}\x{301}\x{302}BCA
1140 2: A\x{300}\x{301}\x{302}BC
1141 3: A\x{300}\x{301}\x{302}B
1142 4: A
1143
1144/^\X(.)/8
1145    *** Failers
1146 0: **
1147    A\x{300}\x{301}\x{302}
1148No match
1149
1150/^\X{2,3}(.)/8
1151    A\x{300}\x{301}B\x{300}X
1152 0: A\x{300}\x{301}B\x{300}X
1153    A\x{300}\x{301}B\x{300}C\x{300}\x{301}
1154 0: A\x{300}\x{301}B\x{300}C
1155    A\x{300}\x{301}B\x{300}C\x{300}\x{301}X
1156 0: A\x{300}\x{301}B\x{300}C\x{300}\x{301}X
1157 1: A\x{300}\x{301}B\x{300}C
1158    A\x{300}\x{301}B\x{300}C\x{300}\x{301}DA\x{300}X
1159 0: A\x{300}\x{301}B\x{300}C\x{300}\x{301}D
1160 1: A\x{300}\x{301}B\x{300}C
1161
1162/^\X{2,3}?(.)/8
1163    A\x{300}\x{301}B\x{300}X
1164 0: A\x{300}\x{301}B\x{300}X
1165    A\x{300}\x{301}B\x{300}C\x{300}\x{301}
1166 0: A\x{300}\x{301}B\x{300}C
1167    A\x{300}\x{301}B\x{300}C\x{300}\x{301}X
1168 0: A\x{300}\x{301}B\x{300}C\x{300}\x{301}X
1169 1: A\x{300}\x{301}B\x{300}C
1170    A\x{300}\x{301}B\x{300}C\x{300}\x{301}DA\x{300}X
1171 0: A\x{300}\x{301}B\x{300}C\x{300}\x{301}D
1172 1: A\x{300}\x{301}B\x{300}C
1173
1174/^\pN{2,3}X/
1175    12X
1176 0: 12X
1177    123X
1178 0: 123X
1179    *** Failers
1180No match
1181    X
1182No match
1183    1X
1184No match
1185    1234X
1186No match
1187
1188/\x{100}/i8
1189    \x{100}
1190 0: \x{100}
1191    \x{101}
1192 0: \x{101}
1193
1194/^\p{Han}+/8
1195    \x{2e81}\x{3007}\x{2f804}\x{31a0}
1196 0: \x{2e81}\x{3007}\x{2f804}
1197    ** Failers
1198No match
1199    \x{2e7f}
1200No match
1201
1202/^\P{Katakana}+/8
1203    \x{3105}
1204 0: \x{3105}
1205    ** Failers
1206 0: ** Failers
1207    \x{30ff}
1208No match
1209
1210/^[\p{Arabic}]/8
1211    \x{06e9}
1212 0: \x{6e9}
1213    \x{060b}
1214 0: \x{60b}
1215    ** Failers
1216No match
1217    X\x{06e9}
1218No match
1219
1220/^[\P{Yi}]/8
1221    \x{2f800}
1222 0: \x{2f800}
1223    ** Failers
1224 0: *
1225    \x{a014}
1226No match
1227    \x{a4c6}
1228No match
1229
1230/^\p{Any}X/8
1231    AXYZ
1232 0: AX
1233    \x{1234}XYZ
1234 0: \x{1234}X
1235    ** Failers
1236No match
1237    X
1238No match
1239
1240/^\P{Any}X/8
1241    ** Failers
1242No match
1243    AX
1244No match
1245
1246/^\p{Any}?X/8
1247    XYZ
1248 0: X
1249    AXYZ
1250 0: AX
1251    \x{1234}XYZ
1252 0: \x{1234}X
1253    ** Failers
1254No match
1255    ABXYZ
1256No match
1257
1258/^\P{Any}?X/8
1259    XYZ
1260 0: X
1261    ** Failers
1262No match
1263    AXYZ
1264No match
1265    \x{1234}XYZ
1266No match
1267    ABXYZ
1268No match
1269
1270/^\p{Any}+X/8
1271    AXYZ
1272 0: AX
1273    \x{1234}XYZ
1274 0: \x{1234}X
1275    A\x{1234}XYZ
1276 0: A\x{1234}X
1277    ** Failers
1278No match
1279    XYZ
1280No match
1281
1282/^\P{Any}+X/8
1283    ** Failers
1284No match
1285    AXYZ
1286No match
1287    \x{1234}XYZ
1288No match
1289    A\x{1234}XYZ
1290No match
1291    XYZ
1292No match
1293
1294/^\p{Any}*X/8
1295    XYZ
1296 0: X
1297    AXYZ
1298 0: AX
1299    \x{1234}XYZ
1300 0: \x{1234}X
1301    A\x{1234}XYZ
1302 0: A\x{1234}X
1303    ** Failers
1304No match
1305
1306/^\P{Any}*X/8
1307    XYZ
1308 0: X
1309    ** Failers
1310No match
1311    AXYZ
1312No match
1313    \x{1234}XYZ
1314No match
1315    A\x{1234}XYZ
1316No match
1317
1318/^[\p{Any}]X/8
1319    AXYZ
1320 0: AX
1321    \x{1234}XYZ
1322 0: \x{1234}X
1323    ** Failers
1324No match
1325    X
1326No match
1327
1328/^[\P{Any}]X/8
1329    ** Failers
1330No match
1331    AX
1332No match
1333
1334/^[\p{Any}]?X/8
1335    XYZ
1336 0: X
1337    AXYZ
1338 0: AX
1339    \x{1234}XYZ
1340 0: \x{1234}X
1341    ** Failers
1342No match
1343    ABXYZ
1344No match
1345
1346/^[\P{Any}]?X/8
1347    XYZ
1348 0: X
1349    ** Failers
1350No match
1351    AXYZ
1352No match
1353    \x{1234}XYZ
1354No match
1355    ABXYZ
1356No match
1357
1358/^[\p{Any}]+X/8
1359    AXYZ
1360 0: AX
1361    \x{1234}XYZ
1362 0: \x{1234}X
1363    A\x{1234}XYZ
1364 0: A\x{1234}X
1365    ** Failers
1366No match
1367    XYZ
1368No match
1369
1370/^[\P{Any}]+X/8
1371    ** Failers
1372No match
1373    AXYZ
1374No match
1375    \x{1234}XYZ
1376No match
1377    A\x{1234}XYZ
1378No match
1379    XYZ
1380No match
1381
1382/^[\p{Any}]*X/8
1383    XYZ
1384 0: X
1385    AXYZ
1386 0: AX
1387    \x{1234}XYZ
1388 0: \x{1234}X
1389    A\x{1234}XYZ
1390 0: A\x{1234}X
1391    ** Failers
1392No match
1393
1394/^[\P{Any}]*X/8
1395    XYZ
1396 0: X
1397    ** Failers
1398No match
1399    AXYZ
1400No match
1401    \x{1234}XYZ
1402No match
1403    A\x{1234}XYZ
1404No match
1405
1406/^\p{Any}{3,5}?/8
1407    abcdefgh
1408 0: abcde
1409 1: abcd
1410 2: abc
1411    \x{1234}\n\r\x{3456}xyz
1412 0: \x{1234}\x{0a}\x{0d}\x{3456}x
1413 1: \x{1234}\x{0a}\x{0d}\x{3456}
1414 2: \x{1234}\x{0a}\x{0d}
1415
1416/^\p{Any}{3,5}/8
1417    abcdefgh
1418 0: abcde
1419    \x{1234}\n\r\x{3456}xyz
1420 0: \x{1234}\x{0a}\x{0d}\x{3456}x
1421
1422/^\P{Any}{3,5}?/8
1423    ** Failers
1424No match
1425    abcdefgh
1426No match
1427    \x{1234}\n\r\x{3456}xyz
1428No match
1429
1430/^\p{L&}X/8
1431     AXY
1432 0: AX
1433     aXY
1434 0: aX
1435     \x{1c5}XY
1436 0: \x{1c5}X
1437     ** Failers
1438No match
1439     \x{1bb}XY
1440No match
1441     \x{2b0}XY
1442No match
1443     !XY
1444No match
1445
1446/^[\p{L&}]X/8
1447     AXY
1448 0: AX
1449     aXY
1450 0: aX
1451     \x{1c5}XY
1452 0: \x{1c5}X
1453     ** Failers
1454No match
1455     \x{1bb}XY
1456No match
1457     \x{2b0}XY
1458No match
1459     !XY
1460No match
1461
1462/^\p{L&}+X/8
1463     AXY
1464 0: AX
1465     aXY
1466 0: aX
1467     AbcdeXyz
1468 0: AbcdeX
1469     \x{1c5}AbXY
1470 0: \x{1c5}AbX
1471     abcDEXypqreXlmn
1472 0: abcDEXypqreX
1473 1: abcDEX
1474     ** Failers
1475No match
1476     \x{1bb}XY
1477No match
1478     \x{2b0}XY
1479No match
1480     !XY
1481No match
1482
1483/^[\p{L&}]+X/8
1484     AXY
1485 0: AX
1486     aXY
1487 0: aX
1488     AbcdeXyz
1489 0: AbcdeX
1490     \x{1c5}AbXY
1491 0: \x{1c5}AbX
1492     abcDEXypqreXlmn
1493 0: abcDEXypqreX
1494 1: abcDEX
1495     ** Failers
1496No match
1497     \x{1bb}XY
1498No match
1499     \x{2b0}XY
1500No match
1501     !XY
1502No match
1503
1504/^\p{L&}+?X/8
1505     AXY
1506 0: AX
1507     aXY
1508 0: aX
1509     AbcdeXyz
1510 0: AbcdeX
1511     \x{1c5}AbXY
1512 0: \x{1c5}AbX
1513     abcDEXypqreXlmn
1514 0: abcDEXypqreX
1515 1: abcDEX
1516     ** Failers
1517No match
1518     \x{1bb}XY
1519No match
1520     \x{2b0}XY
1521No match
1522     !XY
1523No match
1524
1525/^[\p{L&}]+?X/8
1526     AXY
1527 0: AX
1528     aXY
1529 0: aX
1530     AbcdeXyz
1531 0: AbcdeX
1532     \x{1c5}AbXY
1533 0: \x{1c5}AbX
1534     abcDEXypqreXlmn
1535 0: abcDEXypqreX
1536 1: abcDEX
1537     ** Failers
1538No match
1539     \x{1bb}XY
1540No match
1541     \x{2b0}XY
1542No match
1543     !XY
1544No match
1545
1546/^\P{L&}X/8
1547     !XY
1548 0: !X
1549     \x{1bb}XY
1550 0: \x{1bb}X
1551     \x{2b0}XY
1552 0: \x{2b0}X
1553     ** Failers
1554No match
1555     \x{1c5}XY
1556No match
1557     AXY
1558No match
1559
1560/^[\P{L&}]X/8
1561     !XY
1562 0: !X
1563     \x{1bb}XY
1564 0: \x{1bb}X
1565     \x{2b0}XY
1566 0: \x{2b0}X
1567     ** Failers
1568No match
1569     \x{1c5}XY
1570No match
1571     AXY
1572No match
1573
1574/^\x{023a}+?(\x{0130}+)/8i
1575  \x{023a}\x{2c65}\x{0130}
1576 0: \x{23a}\x{2c65}\x{130}
1577
1578/^\x{023a}+([^X])/8i
1579  \x{023a}\x{2c65}X
1580 0: \x{23a}\x{2c65}
1581
1582/\x{c0}+\x{116}+/8i
1583    \x{c0}\x{e0}\x{116}\x{117}
1584 0: \x{c0}\x{e0}\x{116}\x{117}
1585
1586/[\x{c0}\x{116}]+/8i
1587    \x{c0}\x{e0}\x{116}\x{117}
1588 0: \x{c0}\x{e0}\x{116}\x{117}
1589
1590/Check property support in non-UTF-8 mode/
1591
1592/\p{L}{4}/
1593    123abcdefg
1594 0: abcd
1595    123abc\xc4\xc5zz
1596 0: abc\xc4
1597
1598/\p{Carian}\p{Cham}\p{Kayah_Li}\p{Lepcha}\p{Lycian}\p{Lydian}\p{Ol_Chiki}\p{Rejang}\p{Saurashtra}\p{Sundanese}\p{Vai}/8
1599    \x{102A4}\x{AA52}\x{A91D}\x{1C46}\x{10283}\x{1092E}\x{1C6B}\x{A93B}\x{A8BF}\x{1BA0}\x{A50A}====
1600 0: \x{102a4}\x{aa52}\x{a91d}\x{1c46}\x{10283}\x{1092e}\x{1c6b}\x{a93b}\x{a8bf}\x{1ba0}\x{a50a}
1601
1602/\x{a77d}\x{1d79}/8i
1603    \x{a77d}\x{1d79}
1604 0: \x{a77d}\x{1d79}
1605    \x{1d79}\x{a77d}
1606 0: \x{1d79}\x{a77d}
1607
1608/\x{a77d}\x{1d79}/8
1609    \x{a77d}\x{1d79}
1610 0: \x{a77d}\x{1d79}
1611    ** Failers
1612No match
1613    \x{1d79}\x{a77d}
1614No match
1615
1616/^\p{Xan}/8
1617    ABCD
1618 0: A
1619    1234
1620 0: 1
1621    \x{6ca}
1622 0: \x{6ca}
1623    \x{a6c}
1624 0: \x{a6c}
1625    \x{10a7}
1626 0: \x{10a7}
1627    ** Failers
1628No match
1629    _ABC
1630No match
1631
1632/^\p{Xan}+/8
1633    ABCD1234\x{6ca}\x{a6c}\x{10a7}_
1634 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}
1635    ** Failers
1636No match
1637    _ABC
1638No match
1639
1640/^\p{Xan}*/8
1641    ABCD1234\x{6ca}\x{a6c}\x{10a7}_
1642 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}
1643
1644/^\p{Xan}{2,9}/8
1645    ABCD1234\x{6ca}\x{a6c}\x{10a7}_
1646 0: ABCD1234\x{6ca}
1647
1648/^[\p{Xan}]/8
1649    ABCD1234_
1650 0: A
1651    1234abcd_
1652 0: 1
1653    \x{6ca}
1654 0: \x{6ca}
1655    \x{a6c}
1656 0: \x{a6c}
1657    \x{10a7}
1658 0: \x{10a7}
1659    ** Failers
1660No match
1661    _ABC
1662No match
1663
1664/^[\p{Xan}]+/8
1665    ABCD1234\x{6ca}\x{a6c}\x{10a7}_
1666 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}
1667    ** Failers
1668No match
1669    _ABC
1670No match
1671
1672/^>\p{Xsp}/8
1673    >\x{1680}\x{2028}\x{0b}
1674 0: >\x{1680}
1675    ** Failers
1676No match
1677    \x{0b}
1678No match
1679
1680/^>\p{Xsp}+/8O
1681    > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1682 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1683 1: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}
1684 2: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}
1685 3: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}
1686 4: > \x{09}\x{0a}\x{0c}\x{0d}
1687 5: > \x{09}\x{0a}\x{0c}
1688 6: > \x{09}\x{0a}
1689 7: > \x{09}
1690 8: >
1691
1692/^>\p{Xsp}*/8O
1693    > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1694 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1695 1: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}
1696 2: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}
1697 3: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}
1698 4: > \x{09}\x{0a}\x{0c}\x{0d}
1699 5: > \x{09}\x{0a}\x{0c}
1700 6: > \x{09}\x{0a}
1701 7: > \x{09}
1702 8: >
1703 9: >
1704
1705/^>\p{Xsp}{2,9}/8O
1706    > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1707 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1708 1: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}
1709 2: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}
1710 3: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}
1711 4: > \x{09}\x{0a}\x{0c}\x{0d}
1712 5: > \x{09}\x{0a}\x{0c}
1713 6: > \x{09}\x{0a}
1714 7: > \x{09}
1715
1716/^>[\p{Xsp}]/8O
1717    >\x{2028}\x{0b}
1718 0: >\x{2028}
1719
1720/^>[\p{Xsp}]+/8O
1721    > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1722 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1723 1: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}
1724 2: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}
1725 3: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}
1726 4: > \x{09}\x{0a}\x{0c}\x{0d}
1727 5: > \x{09}\x{0a}\x{0c}
1728 6: > \x{09}\x{0a}
1729 7: > \x{09}
1730 8: >
1731
1732/^>\p{Xps}/8
1733    >\x{1680}\x{2028}\x{0b}
1734 0: >\x{1680}
1735    >\x{a0}
1736 0: >\x{a0}
1737    ** Failers
1738No match
1739    \x{0b}
1740No match
1741
1742/^>\p{Xps}+/8
1743    > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1744 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1745
1746/^>\p{Xps}+?/8
1747    >\x{1680}\x{2028}\x{0b}
1748 0: >\x{1680}\x{2028}\x{0b}
1749 1: >\x{1680}\x{2028}
1750 2: >\x{1680}
1751
1752/^>\p{Xps}*/8
1753    > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1754 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1755
1756/^>\p{Xps}{2,9}/8
1757    > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1758 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1759
1760/^>\p{Xps}{2,9}?/8
1761    > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1762 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1763 1: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}
1764 2: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}
1765 3: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}
1766 4: > \x{09}\x{0a}\x{0c}\x{0d}
1767 5: > \x{09}\x{0a}\x{0c}
1768 6: > \x{09}\x{0a}
1769 7: > \x{09}
1770
1771/^>[\p{Xps}]/8
1772    >\x{2028}\x{0b}
1773 0: >\x{2028}
1774
1775/^>[\p{Xps}]+/8
1776    > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1777 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1778
1779/^\p{Xwd}/8
1780    ABCD
1781 0: A
1782    1234
1783 0: 1
1784    \x{6ca}
1785 0: \x{6ca}
1786    \x{a6c}
1787 0: \x{a6c}
1788    \x{10a7}
1789 0: \x{10a7}
1790    _ABC
1791 0: _
1792    ** Failers
1793No match
1794    []
1795No match
1796
1797/^\p{Xwd}+/8
1798    ABCD1234\x{6ca}\x{a6c}\x{10a7}_
1799 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
1800
1801/^\p{Xwd}*/8
1802    ABCD1234\x{6ca}\x{a6c}\x{10a7}_
1803 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
1804
1805/^\p{Xwd}{2,9}/8
1806    A_12\x{6ca}\x{a6c}\x{10a7}
1807 0: A_12\x{6ca}\x{a6c}\x{10a7}
1808
1809/^[\p{Xwd}]/8
1810    ABCD1234_
1811 0: A
1812    1234abcd_
1813 0: 1
1814    \x{6ca}
1815 0: \x{6ca}
1816    \x{a6c}
1817 0: \x{a6c}
1818    \x{10a7}
1819 0: \x{10a7}
1820    _ABC
1821 0: _
1822    ** Failers
1823No match
1824    []
1825No match
1826
1827/^[\p{Xwd}]+/8
1828    ABCD1234\x{6ca}\x{a6c}\x{10a7}_
1829 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
1830
1831/-- Unicode properties for \b abd \B --/
1832
1833/\b...\B/8W
1834    abc_
1835 0: abc
1836    \x{37e}abc\x{376}
1837 0: abc
1838    \x{37e}\x{376}\x{371}\x{393}\x{394}
1839 0: \x{376}\x{371}\x{393}
1840    !\x{c0}++\x{c1}\x{c2}
1841 0: ++\x{c1}
1842    !\x{c0}+++++
1843 0: \x{c0}++
1844
1845/-- Without PCRE_UCP, non-ASCII always fail, even if < 256  --/
1846
1847/\b...\B/8
1848    abc_
1849 0: abc
1850    ** Failers
1851 0: Fai
1852    \x{37e}abc\x{376}
1853No match
1854    \x{37e}\x{376}\x{371}\x{393}\x{394}
1855No match
1856    !\x{c0}++\x{c1}\x{c2}
1857No match
1858    !\x{c0}+++++
1859No match
1860
1861/-- With PCRE_UCP, non-UTF8 chars that are < 256 still check properties  --/
1862
1863/\b...\B/W
1864    abc_
1865 0: abc
1866    !\x{c0}++\x{c1}\x{c2}
1867 0: ++\xc1
1868    !\x{c0}+++++
1869 0: \xc0++
1870
1871/-- Caseless single negated characters > 127 need UCP support --/
1872
1873/[^\x{100}]/8i
1874    \x{100}\x{101}X
1875 0: X
1876
1877/[^\x{100}]+/8i
1878    \x{100}\x{101}XX
1879 0: XX
1880
1881/^\X/8
1882    A\P
1883 0: A
1884    A\P\P
1885Partial match: A
1886    A\x{300}\x{301}\P
1887 0: A\x{300}\x{301}
1888    A\x{300}\x{301}\P\P
1889Partial match: A\x{300}\x{301}
1890    A\x{301}\P
1891 0: A\x{301}
1892    A\x{301}\P\P
1893Partial match: A\x{301}
1894
1895/^\X{2,3}/8
1896    A\P
1897Partial match: A
1898    A\P\P
1899Partial match: A
1900    AA\P
1901 0: AA
1902    AA\P\P
1903Partial match: AA
1904    A\x{300}\x{301}\P
1905Partial match: A\x{300}\x{301}
1906    A\x{300}\x{301}\P\P
1907Partial match: A\x{300}\x{301}
1908    A\x{300}\x{301}A\x{300}\x{301}\P
1909 0: A\x{300}\x{301}A\x{300}\x{301}
1910    A\x{300}\x{301}A\x{300}\x{301}\P\P
1911Partial match: A\x{300}\x{301}A\x{300}\x{301}
1912
1913/^\X{2}/8
1914    AA\P
1915 0: AA
1916    AA\P\P
1917Partial match: AA
1918    A\x{300}\x{301}A\x{300}\x{301}\P
1919 0: A\x{300}\x{301}A\x{300}\x{301}
1920    A\x{300}\x{301}A\x{300}\x{301}\P\P
1921Partial match: A\x{300}\x{301}A\x{300}\x{301}
1922
1923/^\X+/8
1924    AA\P
1925 0: AA
1926    AA\P\P
1927Partial match: AA
1928
1929/^\X+?Z/8
1930    AA\P
1931Partial match: AA
1932    AA\P\P
1933Partial match: AA
1934
1935/-- These are tests for extended grapheme clusters --/
1936
1937/^\X/8+
1938    G\x{34e}\x{34e}X
1939 0: G\x{34e}\x{34e}
1940 0+ X
1941    \x{34e}\x{34e}X
1942 0: \x{34e}\x{34e}
1943 0+ X
1944    \x04X
1945 0: \x{04}
1946 0+ X
1947    \x{1100}X
1948 0: \x{1100}
1949 0+ X
1950    \x{1100}\x{34e}X
1951 0: \x{1100}\x{34e}
1952 0+ X
1953    \x{1b04}\x{1b04}X
1954 0: \x{1b04}\x{1b04}
1955 0+ X
1956    *These match up to the roman letters
1957 0: *
1958 0+ These match up to the roman letters
1959    \x{1111}\x{1111}L,L
1960 0: \x{1111}\x{1111}
1961 0+ L,L
1962    \x{1111}\x{1111}\x{1169}L,L,V
1963 0: \x{1111}\x{1111}\x{1169}
1964 0+ L,L,V
1965    \x{1111}\x{ae4c}L, LV
1966 0: \x{1111}\x{ae4c}
1967 0+ L, LV
1968    \x{1111}\x{ad89}L, LVT
1969 0: \x{1111}\x{ad89}
1970 0+ L, LVT
1971    \x{1111}\x{ae4c}\x{1169}L, LV, V
1972 0: \x{1111}\x{ae4c}\x{1169}
1973 0+ L, LV, V
1974    \x{1111}\x{ae4c}\x{1169}\x{1169}L, LV, V, V
1975 0: \x{1111}\x{ae4c}\x{1169}\x{1169}
1976 0+ L, LV, V, V
1977    \x{1111}\x{ae4c}\x{1169}\x{11fe}L, LV, V, T
1978 0: \x{1111}\x{ae4c}\x{1169}\x{11fe}
1979 0+ L, LV, V, T
1980    \x{1111}\x{ad89}\x{11fe}L, LVT, T
1981 0: \x{1111}\x{ad89}\x{11fe}
1982 0+ L, LVT, T
1983    \x{1111}\x{ad89}\x{11fe}\x{11fe}L, LVT, T, T
1984 0: \x{1111}\x{ad89}\x{11fe}\x{11fe}
1985 0+ L, LVT, T, T
1986    \x{ad89}\x{11fe}\x{11fe}LVT, T, T
1987 0: \x{ad89}\x{11fe}\x{11fe}
1988 0+ LVT, T, T
1989    *These match just the first codepoint (invalid sequence)
1990 0: *
1991 0+ These match just the first codepoint (invalid sequence)
1992    \x{1111}\x{11fe}L, T
1993 0: \x{1111}
1994 0+ \x{11fe}L, T
1995    \x{ae4c}\x{1111}LV, L
1996 0: \x{ae4c}
1997 0+ \x{1111}LV, L
1998    \x{ae4c}\x{ae4c}LV, LV
1999 0: \x{ae4c}
2000 0+ \x{ae4c}LV, LV
2001    \x{ae4c}\x{ad89}LV, LVT
2002 0: \x{ae4c}
2003 0+ \x{ad89}LV, LVT
2004    \x{1169}\x{1111}V, L
2005 0: \x{1169}
2006 0+ \x{1111}V, L
2007    \x{1169}\x{ae4c}V, LV
2008 0: \x{1169}
2009 0+ \x{ae4c}V, LV
2010    \x{1169}\x{ad89}V, LVT
2011 0: \x{1169}
2012 0+ \x{ad89}V, LVT
2013    \x{ad89}\x{1111}LVT, L
2014 0: \x{ad89}
2015 0+ \x{1111}LVT, L
2016    \x{ad89}\x{1169}LVT, V
2017 0: \x{ad89}
2018 0+ \x{1169}LVT, V
2019    \x{ad89}\x{ae4c}LVT, LV
2020 0: \x{ad89}
2021 0+ \x{ae4c}LVT, LV
2022    \x{ad89}\x{ad89}LVT, LVT
2023 0: \x{ad89}
2024 0+ \x{ad89}LVT, LVT
2025    \x{11fe}\x{1111}T, L
2026 0: \x{11fe}
2027 0+ \x{1111}T, L
2028    \x{11fe}\x{1169}T, V
2029 0: \x{11fe}
2030 0+ \x{1169}T, V
2031    \x{11fe}\x{ae4c}T, LV
2032 0: \x{11fe}
2033 0+ \x{ae4c}T, LV
2034    \x{11fe}\x{ad89}T, LVT
2035 0: \x{11fe}
2036 0+ \x{ad89}T, LVT
2037    *Test extend and spacing mark
2038 0: *
2039 0+ Test extend and spacing mark
2040    \x{1111}\x{ae4c}\x{0711}L, LV, extend
2041 0: \x{1111}\x{ae4c}\x{711}
2042 0+ L, LV, extend
2043    \x{1111}\x{ae4c}\x{1b04}L, LV, spacing mark
2044 0: \x{1111}\x{ae4c}\x{1b04}
2045 0+ L, LV, spacing mark
2046    \x{1111}\x{ae4c}\x{1b04}\x{0711}\x{1b04}L, LV, spacing mark, extend, spacing mark
2047 0: \x{1111}\x{ae4c}\x{1b04}\x{711}\x{1b04}
2048 0+ L, LV, spacing mark, extend, spacing mark
2049    *Test CR, LF, and control
2050 0: *
2051 0+ Test CR, LF, and control
2052    \x0d\x{0711}CR, extend
2053 0: \x{0d}
2054 0+ \x{711}CR, extend
2055    \x0d\x{1b04}CR, spacingmark
2056 0: \x{0d}
2057 0+ \x{1b04}CR, spacingmark
2058    \x0a\x{0711}LF, extend
2059 0: \x{0a}
2060 0+ \x{711}LF, extend
2061    \x0a\x{1b04}LF, spacingmark
2062 0: \x{0a}
2063 0+ \x{1b04}LF, spacingmark
2064    \x0b\x{0711}Control, extend
2065 0: \x{0b}
2066 0+ \x{711}Control, extend
2067    \x09\x{1b04}Control, spacingmark
2068 0: \x{09}
2069 0+ \x{1b04}Control, spacingmark
2070    *There are no Prepend characters, so we can't test Prepend, CR
2071 0: *
2072 0+ There are no Prepend characters, so we can't test Prepend, CR
2073
2074/^(?>\X{2})X/8+
2075    \x{1111}\x{ae4c}\x{1111}\x{ae4c}X
2076 0: \x{1111}\x{ae4c}\x{1111}\x{ae4c}X
2077 0+
2078
2079/^\X{2,4}X/8+
2080    \x{1111}\x{ae4c}\x{1111}\x{ae4c}X
2081 0: \x{1111}\x{ae4c}\x{1111}\x{ae4c}X
2082 0+
2083    \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
2084 0: \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
2085 0+
2086    \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
2087 0: \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
2088 0+
2089
2090/^\X{2,4}?X/8+
2091    \x{1111}\x{ae4c}\x{1111}\x{ae4c}X
2092 0: \x{1111}\x{ae4c}\x{1111}\x{ae4c}X
2093 0+
2094    \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
2095 0: \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
2096 0+
2097    \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
2098 0: \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
2099 0+
2100
2101/-- --/
2102
2103/\x{1e9e}+/8i
2104    \x{1e9e}\x{00df}
2105 0: \x{1e9e}\x{df}
2106
2107/[z\x{1e9e}]+/8i
2108    \x{1e9e}\x{00df}
2109 0: \x{1e9e}\x{df}
2110
2111/\x{00df}+/8i
2112    \x{1e9e}\x{00df}
2113 0: \x{1e9e}\x{df}
2114
2115/[z\x{00df}]+/8i
2116    \x{1e9e}\x{00df}
2117 0: \x{1e9e}\x{df}
2118
2119/\x{1f88}+/8i
2120    \x{1f88}\x{1f80}
2121 0: \x{1f88}\x{1f80}
2122
2123/[z\x{1f88}]+/8i
2124    \x{1f88}\x{1f80}
2125 0: \x{1f88}\x{1f80}
2126
2127/-- Perl matches these --/
2128
2129/\x{00b5}+/8i
2130    \x{00b5}\x{039c}\x{03bc}
2131 0: \x{b5}\x{39c}\x{3bc}
2132
2133/\x{039c}+/8i
2134    \x{00b5}\x{039c}\x{03bc}
2135 0: \x{b5}\x{39c}\x{3bc}
2136
2137/\x{03bc}+/8i
2138    \x{00b5}\x{039c}\x{03bc}
2139 0: \x{b5}\x{39c}\x{3bc}
2140
2141
2142/\x{00c5}+/8i
2143    \x{00c5}\x{00e5}\x{212b}
2144 0: \x{c5}\x{e5}\x{212b}
2145
2146/\x{00e5}+/8i
2147    \x{00c5}\x{00e5}\x{212b}
2148 0: \x{c5}\x{e5}\x{212b}
2149
2150/\x{212b}+/8i
2151    \x{00c5}\x{00e5}\x{212b}
2152 0: \x{c5}\x{e5}\x{212b}
2153
2154
2155/\x{01c4}+/8i
2156    \x{01c4}\x{01c5}\x{01c6}
2157 0: \x{1c4}\x{1c5}\x{1c6}
2158
2159/\x{01c5}+/8i
2160    \x{01c4}\x{01c5}\x{01c6}
2161 0: \x{1c4}\x{1c5}\x{1c6}
2162
2163/\x{01c6}+/8i
2164    \x{01c4}\x{01c5}\x{01c6}
2165 0: \x{1c4}\x{1c5}\x{1c6}
2166
2167
2168/\x{01c7}+/8i
2169    \x{01c7}\x{01c8}\x{01c9}
2170 0: \x{1c7}\x{1c8}\x{1c9}
2171
2172/\x{01c8}+/8i
2173    \x{01c7}\x{01c8}\x{01c9}
2174 0: \x{1c7}\x{1c8}\x{1c9}
2175
2176/\x{01c9}+/8i
2177    \x{01c7}\x{01c8}\x{01c9}
2178 0: \x{1c7}\x{1c8}\x{1c9}
2179
2180
2181/\x{01ca}+/8i
2182    \x{01ca}\x{01cb}\x{01cc}
2183 0: \x{1ca}\x{1cb}\x{1cc}
2184
2185/\x{01cb}+/8i
2186    \x{01ca}\x{01cb}\x{01cc}
2187 0: \x{1ca}\x{1cb}\x{1cc}
2188
2189/\x{01cc}+/8i
2190    \x{01ca}\x{01cb}\x{01cc}
2191 0: \x{1ca}\x{1cb}\x{1cc}
2192
2193
2194/\x{01f1}+/8i
2195    \x{01f1}\x{01f2}\x{01f3}
2196 0: \x{1f1}\x{1f2}\x{1f3}
2197
2198/\x{01f2}+/8i
2199    \x{01f1}\x{01f2}\x{01f3}
2200 0: \x{1f1}\x{1f2}\x{1f3}
2201
2202/\x{01f3}+/8i
2203    \x{01f1}\x{01f2}\x{01f3}
2204 0: \x{1f1}\x{1f2}\x{1f3}
2205
2206
2207/\x{0345}+/8i
2208    \x{0345}\x{0399}\x{03b9}\x{1fbe}
2209 0: \x{345}\x{399}\x{3b9}\x{1fbe}
2210
2211/\x{0399}+/8i
2212    \x{0345}\x{0399}\x{03b9}\x{1fbe}
2213 0: \x{345}\x{399}\x{3b9}\x{1fbe}
2214
2215/\x{03b9}+/8i
2216    \x{0345}\x{0399}\x{03b9}\x{1fbe}
2217 0: \x{345}\x{399}\x{3b9}\x{1fbe}
2218
2219/\x{1fbe}+/8i
2220    \x{0345}\x{0399}\x{03b9}\x{1fbe}
2221 0: \x{345}\x{399}\x{3b9}\x{1fbe}
2222
2223
2224/\x{0392}+/8i
2225    \x{0392}\x{03b2}\x{03d0}
2226 0: \x{392}\x{3b2}\x{3d0}
2227
2228/\x{03b2}+/8i
2229    \x{0392}\x{03b2}\x{03d0}
2230 0: \x{392}\x{3b2}\x{3d0}
2231
2232/\x{03d0}+/8i
2233    \x{0392}\x{03b2}\x{03d0}
2234 0: \x{392}\x{3b2}\x{3d0}
2235
2236
2237/\x{0395}+/8i
2238    \x{0395}\x{03b5}\x{03f5}
2239 0: \x{395}\x{3b5}\x{3f5}
2240
2241/\x{03b5}+/8i
2242    \x{0395}\x{03b5}\x{03f5}
2243 0: \x{395}\x{3b5}\x{3f5}
2244
2245/\x{03f5}+/8i
2246    \x{0395}\x{03b5}\x{03f5}
2247 0: \x{395}\x{3b5}\x{3f5}
2248
2249
2250/\x{0398}+/8i
2251    \x{0398}\x{03b8}\x{03d1}\x{03f4}
2252 0: \x{398}\x{3b8}\x{3d1}\x{3f4}
2253
2254/\x{03b8}+/8i
2255    \x{0398}\x{03b8}\x{03d1}\x{03f4}
2256 0: \x{398}\x{3b8}\x{3d1}\x{3f4}
2257
2258/\x{03d1}+/8i
2259    \x{0398}\x{03b8}\x{03d1}\x{03f4}
2260 0: \x{398}\x{3b8}\x{3d1}\x{3f4}
2261
2262/\x{03f4}+/8i
2263    \x{0398}\x{03b8}\x{03d1}\x{03f4}
2264 0: \x{398}\x{3b8}\x{3d1}\x{3f4}
2265
2266
2267/\x{039a}+/8i
2268    \x{039a}\x{03ba}\x{03f0}
2269 0: \x{39a}\x{3ba}\x{3f0}
2270
2271/\x{03ba}+/8i
2272    \x{039a}\x{03ba}\x{03f0}
2273 0: \x{39a}\x{3ba}\x{3f0}
2274
2275/\x{03f0}+/8i
2276    \x{039a}\x{03ba}\x{03f0}
2277 0: \x{39a}\x{3ba}\x{3f0}
2278
2279
2280/\x{03a0}+/8i
2281    \x{03a0}\x{03c0}\x{03d6}
2282 0: \x{3a0}\x{3c0}\x{3d6}
2283
2284/\x{03c0}+/8i
2285    \x{03a0}\x{03c0}\x{03d6}
2286 0: \x{3a0}\x{3c0}\x{3d6}
2287
2288/\x{03d6}+/8i
2289    \x{03a0}\x{03c0}\x{03d6}
2290 0: \x{3a0}\x{3c0}\x{3d6}
2291
2292
2293/\x{03a1}+/8i
2294    \x{03a1}\x{03c1}\x{03f1}
2295 0: \x{3a1}\x{3c1}\x{3f1}
2296
2297/\x{03c1}+/8i
2298    \x{03a1}\x{03c1}\x{03f1}
2299 0: \x{3a1}\x{3c1}\x{3f1}
2300
2301/\x{03f1}+/8i
2302    \x{03a1}\x{03c1}\x{03f1}
2303 0: \x{3a1}\x{3c1}\x{3f1}
2304
2305
2306/\x{03a3}+/8i
2307    \x{03A3}\x{03C2}\x{03C3}
2308 0: \x{3a3}\x{3c2}\x{3c3}
2309
2310/\x{03c2}+/8i
2311    \x{03A3}\x{03C2}\x{03C3}
2312 0: \x{3a3}\x{3c2}\x{3c3}
2313
2314/\x{03c3}+/8i
2315    \x{03A3}\x{03C2}\x{03C3}
2316 0: \x{3a3}\x{3c2}\x{3c3}
2317
2318
2319/\x{03a6}+/8i
2320    \x{03a6}\x{03c6}\x{03d5}
2321 0: \x{3a6}\x{3c6}\x{3d5}
2322
2323/\x{03c6}+/8i
2324    \x{03a6}\x{03c6}\x{03d5}
2325 0: \x{3a6}\x{3c6}\x{3d5}
2326
2327/\x{03d5}+/8i
2328    \x{03a6}\x{03c6}\x{03d5}
2329 0: \x{3a6}\x{3c6}\x{3d5}
2330
2331
2332/\x{03c9}+/8i
2333    \x{03c9}\x{03a9}\x{2126}
2334 0: \x{3c9}\x{3a9}\x{2126}
2335
2336/\x{03a9}+/8i
2337    \x{03c9}\x{03a9}\x{2126}
2338 0: \x{3c9}\x{3a9}\x{2126}
2339
2340/\x{2126}+/8i
2341    \x{03c9}\x{03a9}\x{2126}
2342 0: \x{3c9}\x{3a9}\x{2126}
2343
2344
2345/\x{1e60}+/8i
2346    \x{1e60}\x{1e61}\x{1e9b}
2347 0: \x{1e60}\x{1e61}\x{1e9b}
2348
2349/\x{1e61}+/8i
2350    \x{1e60}\x{1e61}\x{1e9b}
2351 0: \x{1e60}\x{1e61}\x{1e9b}
2352
2353/\x{1e9b}+/8i
2354    \x{1e60}\x{1e61}\x{1e9b}
2355 0: \x{1e60}\x{1e61}\x{1e9b}
2356
2357
2358/\x{1e9e}+/8i
2359    \x{1e9e}\x{00df}
2360 0: \x{1e9e}\x{df}
2361
2362/\x{00df}+/8i
2363    \x{1e9e}\x{00df}
2364 0: \x{1e9e}\x{df}
2365
2366
2367/\x{1f88}+/8i
2368    \x{1f88}\x{1f80}
2369 0: \x{1f88}\x{1f80}
2370
2371/\x{1f80}+/8i
2372    \x{1f88}\x{1f80}
2373 0: \x{1f88}\x{1f80}
2374
2375/\x{004b}+/8i
2376    \x{004b}\x{006b}\x{212a}
2377 0: Kk\x{212a}
2378
2379/\x{006b}+/8i
2380    \x{004b}\x{006b}\x{212a}
2381 0: Kk\x{212a}
2382
2383/\x{212a}+/8i
2384    \x{004b}\x{006b}\x{212a}
2385 0: Kk\x{212a}
2386
2387
2388/\x{0053}+/8i
2389    \x{0053}\x{0073}\x{017f}
2390 0: Ss\x{17f}
2391
2392/\x{0073}+/8i
2393    \x{0053}\x{0073}\x{017f}
2394 0: Ss\x{17f}
2395
2396/\x{017f}+/8i
2397    \x{0053}\x{0073}\x{017f}
2398 0: Ss\x{17f}
2399
2400/ist/8i
2401    ikt
2402No match
2403
2404/is+t/8i
2405    iSs\x{17f}t
2406 0: iSs\x{17f}t
2407    ikt
2408No match
2409
2410/is+?t/8i
2411    ikt
2412No match
2413
2414/is?t/8i
2415    ikt
2416No match
2417
2418/is{2}t/8i
2419    iskt
2420No match
2421
2422/^\p{Xuc}/8
2423    $abc
2424 0: $
2425    @abc
2426 0: @
2427    `abc
2428 0: `
2429    \x{1234}abc
2430 0: \x{1234}
2431    ** Failers
2432No match
2433    abc
2434No match
2435
2436/^\p{Xuc}+/8
2437    $@`\x{a0}\x{1234}\x{e000}**
2438 0: $@`\x{a0}\x{1234}\x{e000}
2439    ** Failers
2440No match
2441    \x{9f}
2442No match
2443
2444/^\p{Xuc}+?/8
2445    $@`\x{a0}\x{1234}\x{e000}**
2446 0: $@`\x{a0}\x{1234}\x{e000}
2447 1: $@`\x{a0}\x{1234}
2448 2: $@`\x{a0}
2449 3: $@`
2450 4: $@
2451 5: $
2452    ** Failers
2453No match
2454    \x{9f}
2455No match
2456
2457/^\p{Xuc}+?\*/8
2458    $@`\x{a0}\x{1234}\x{e000}**
2459 0: $@`\x{a0}\x{1234}\x{e000}*
2460    ** Failers
2461No match
2462    \x{9f}
2463No match
2464
2465/^\p{Xuc}++/8
2466    $@`\x{a0}\x{1234}\x{e000}**
2467 0: $@`\x{a0}\x{1234}\x{e000}
2468    ** Failers
2469No match
2470    \x{9f}
2471No match
2472
2473/^\p{Xuc}{3,5}/8
2474    $@`\x{a0}\x{1234}\x{e000}**
2475 0: $@`\x{a0}\x{1234}
2476    ** Failers
2477No match
2478    \x{9f}
2479No match
2480
2481/^\p{Xuc}{3,5}?/8
2482    $@`\x{a0}\x{1234}\x{e000}**
2483 0: $@`\x{a0}\x{1234}
2484 1: $@`\x{a0}
2485 2: $@`
2486    ** Failers
2487No match
2488    \x{9f}
2489No match
2490
2491/^[\p{Xuc}]/8
2492    $@`\x{a0}\x{1234}\x{e000}**
2493 0: $
2494    ** Failers
2495No match
2496    \x{9f}
2497No match
2498
2499/^[\p{Xuc}]+/8
2500    $@`\x{a0}\x{1234}\x{e000}**
2501 0: $@`\x{a0}\x{1234}\x{e000}
2502    ** Failers
2503No match
2504    \x{9f}
2505No match
2506
2507/^\P{Xuc}/8
2508    abc
2509 0: a
2510    ** Failers
2511 0: *
2512    $abc
2513No match
2514    @abc
2515No match
2516    `abc
2517No match
2518    \x{1234}abc
2519No match
2520
2521/^[\P{Xuc}]/8
2522    abc
2523 0: a
2524    ** Failers
2525 0: *
2526    $abc
2527No match
2528    @abc
2529No match
2530    `abc
2531No match
2532    \x{1234}abc
2533No match
2534
2535/^A\s+Z/8W
2536    A\x{2005}Z
2537 0: A\x{2005}Z
2538    A\x{85}\x{180e}\x{2005}Z
2539 0: A\x{85}\x{180e}\x{2005}Z
2540
2541/^A[\s]+Z/8W
2542    A\x{2005}Z
2543 0: A\x{2005}Z
2544    A\x{85}\x{180e}\x{2005}Z
2545 0: A\x{85}\x{180e}\x{2005}Z
2546
2547/-- End of testinput10 --/
2548