blob: 68c0a46a22f0406def286d222ea8b8e2373554a3 [file] [log] [blame]
Tristan Matthews04616462013-11-14 16:09:34 -05001/-- This set of tests is for Unicode property support. It is compatible with
2 Perl >= 5.10, but not 5.8 because it tests some extra properties that are
3 not in the earlier release. --/
4
5/^\pC\pL\pM\pN\pP\pS\pZ</8
6 \x7f\x{c0}\x{30f}\x{660}\x{66c}\x{f01}\x{1680}<
7 0: \x{7f}\x{c0}\x{30f}\x{660}\x{66c}\x{f01}\x{1680}<
8 \np\x{300}9!\$ <
9 0: \x{0a}p\x{300}9!$ <
10 ** Failers
11No match
12 ap\x{300}9!\$ <
13No match
14
15/^\PC/8
16 X
17 0: X
18 ** Failers
19 0: *
20 \x7f
21No match
22
23/^\PL/8
24 9
25 0: 9
26 ** Failers
27 0: *
28 \x{c0}
29No match
30
31/^\PM/8
32 X
33 0: X
34 ** Failers
35 0: *
36 \x{30f}
37No match
38
39/^\PN/8
40 X
41 0: X
42 ** Failers
43 0: *
44 \x{660}
45No match
46
47/^\PP/8
48 X
49 0: X
50 ** Failers
51No match
52 \x{66c}
53No match
54
55/^\PS/8
56 X
57 0: X
58 ** Failers
59 0: *
60 \x{f01}
61No match
62
63/^\PZ/8
64 X
65 0: X
66 ** Failers
67 0: *
68 \x{1680}
69No match
70
71/^\p{Cc}/8
72 \x{017}
73 0: \x{17}
74 \x{09f}
75 0: \x{9f}
76 ** Failers
77No match
78 \x{0600}
79No match
80
81/^\p{Cf}/8
82 \x{601}
83 0: \x{601}
84 ** Failers
85No match
86 \x{09f}
87No match
88
89/^\p{Cn}/8
90 \x{e0000}
91 0: \x{e0000}
92 ** Failers
93No match
94 \x{09f}
95No match
96
97/^\p{Co}/8
98 \x{f8ff}
99 0: \x{f8ff}
100 ** Failers
101No match
102 \x{09f}
103No match
104
105/^\p{Ll}/8
106 a
107 0: a
108 ** Failers
109No match
110 Z
111No match
112 \x{e000}
113No match
114
115/^\p{Lm}/8
116 \x{2b0}
117 0: \x{2b0}
118 ** Failers
119No match
120 a
121No match
122
123/^\p{Lo}/8
124 \x{1bb}
125 0: \x{1bb}
126 \x{3400}
127 0: \x{3400}
128 \x{3401}
129 0: \x{3401}
130 \x{4d00}
131 0: \x{4d00}
132 \x{4db4}
133 0: \x{4db4}
134 \x{4db5}
135 0: \x{4db5}
136 ** Failers
137No match
138 a
139No match
140 \x{2b0}
141No match
142 \x{4db6}
143No match
144
145/^\p{Lt}/8
146 \x{1c5}
147 0: \x{1c5}
148 ** Failers
149No match
150 a
151No match
152 \x{2b0}
153No match
154
155/^\p{Lu}/8
156 A
157 0: A
158 ** Failers
159No match
160 \x{2b0}
161No match
162
163/^\p{Mc}/8
164 \x{903}
165 0: \x{903}
166 ** Failers
167No match
168 X
169No match
170 \x{300}
171No match
172
173/^\p{Me}/8
174 \x{488}
175 0: \x{488}
176 ** Failers
177No match
178 X
179No match
180 \x{903}
181No match
182 \x{300}
183No match
184
185/^\p{Mn}/8
186 \x{300}
187 0: \x{300}
188 ** Failers
189No match
190 X
191No match
192 \x{903}
193No match
194
195/^\p{Nd}+/8
196 0123456789\x{660}\x{661}\x{662}\x{663}\x{664}\x{665}\x{666}\x{667}\x{668}\x{669}\x{66a}
197 0: 0123456789\x{660}\x{661}\x{662}\x{663}\x{664}\x{665}\x{666}\x{667}\x{668}\x{669}
198 \x{6f0}\x{6f1}\x{6f2}\x{6f3}\x{6f4}\x{6f5}\x{6f6}\x{6f7}\x{6f8}\x{6f9}\x{6fa}
199 0: \x{6f0}\x{6f1}\x{6f2}\x{6f3}\x{6f4}\x{6f5}\x{6f6}\x{6f7}\x{6f8}\x{6f9}
200 \x{966}\x{967}\x{968}\x{969}\x{96a}\x{96b}\x{96c}\x{96d}\x{96e}\x{96f}\x{970}
201 0: \x{966}\x{967}\x{968}\x{969}\x{96a}\x{96b}\x{96c}\x{96d}\x{96e}\x{96f}
202 ** Failers
203No match
204 X
205No match
206
207/^\p{Nl}/8
208 \x{16ee}
209 0: \x{16ee}
210 ** Failers
211No match
212 X
213No match
214 \x{966}
215No match
216
217/^\p{No}/8
218 \x{b2}
219 0: \x{b2}
220 \x{b3}
221 0: \x{b3}
222 ** Failers
223No match
224 X
225No match
226 \x{16ee}
227No match
228
229/^\p{Pc}/8
230 \x5f
231 0: _
232 \x{203f}
233 0: \x{203f}
234 ** Failers
235No match
236 X
237No match
238 -
239No match
240 \x{58a}
241No match
242
243/^\p{Pd}/8
244 -
245 0: -
246 \x{58a}
247 0: \x{58a}
248 ** Failers
249No match
250 X
251No match
252 \x{203f}
253No match
254
255/^\p{Pe}/8
256 )
257 0: )
258 ]
259 0: ]
260 }
261 0: }
262 \x{f3b}
263 0: \x{f3b}
264 ** Failers
265No match
266 X
267No match
268 \x{203f}
269No match
270 (
271No match
272 [
273No match
274 {
275No match
276 \x{f3c}
277No match
278
279/^\p{Pf}/8
280 \x{bb}
281 0: \x{bb}
282 \x{2019}
283 0: \x{2019}
284 ** Failers
285No match
286 X
287No match
288 \x{203f}
289No match
290
291/^\p{Pi}/8
292 \x{ab}
293 0: \x{ab}
294 \x{2018}
295 0: \x{2018}
296 ** Failers
297No match
298 X
299No match
300 \x{203f}
301No match
302
303/^\p{Po}/8
304 !
305 0: !
306 \x{37e}
307 0: \x{37e}
308 ** Failers
309 0: *
310 X
311No match
312 \x{203f}
313No match
314
315/^\p{Ps}/8
316 (
317 0: (
318 [
319 0: [
320 {
321 0: {
322 \x{f3c}
323 0: \x{f3c}
324 ** Failers
325No match
326 X
327No match
328 )
329No match
330 ]
331No match
332 }
333No match
334 \x{f3b}
335No match
336
337/^\p{Sk}/8
338 \x{2c2}
339 0: \x{2c2}
340 ** Failers
341No match
342 X
343No match
344 \x{9f2}
345No match
346
347/^\p{Sm}+/8
348 +<|~\x{ac}\x{2044}
349 0: +<|~\x{ac}\x{2044}
350 ** Failers
351No match
352 X
353No match
354 \x{9f2}
355No match
356
357/^\p{So}/8
358 \x{a6}
359 0: \x{a6}
360 \x{482}
361 0: \x{482}
362 ** Failers
363No match
364 X
365No match
366 \x{9f2}
367No match
368
369/^\p{Zl}/8
370 \x{2028}
371 0: \x{2028}
372 ** Failers
373No match
374 X
375No match
376 \x{2029}
377No match
378
379/^\p{Zp}/8
380 \x{2029}
381 0: \x{2029}
382 ** Failers
383No match
384 X
385No match
386 \x{2028}
387No match
388
389/\p{Nd}+(..)/8
390 \x{660}\x{661}\x{662}ABC
391 0: \x{660}\x{661}\x{662}AB
392 1: AB
393
394/\p{Nd}+?(..)/8
395 \x{660}\x{661}\x{662}ABC
396 0: \x{660}\x{661}\x{662}
397 1: \x{661}\x{662}
398
399/\p{Nd}{2,}(..)/8
400 \x{660}\x{661}\x{662}ABC
401 0: \x{660}\x{661}\x{662}AB
402 1: AB
403
404/\p{Nd}{2,}?(..)/8
405 \x{660}\x{661}\x{662}ABC
406 0: \x{660}\x{661}\x{662}A
407 1: \x{662}A
408
409/\p{Nd}*(..)/8
410 \x{660}\x{661}\x{662}ABC
411 0: \x{660}\x{661}\x{662}AB
412 1: AB
413
414/\p{Nd}*?(..)/8
415 \x{660}\x{661}\x{662}ABC
416 0: \x{660}\x{661}
417 1: \x{660}\x{661}
418
419/\p{Nd}{2}(..)/8
420 \x{660}\x{661}\x{662}ABC
421 0: \x{660}\x{661}\x{662}A
422 1: \x{662}A
423
424/\p{Nd}{2,3}(..)/8
425 \x{660}\x{661}\x{662}ABC
426 0: \x{660}\x{661}\x{662}AB
427 1: AB
428
429/\p{Nd}{2,3}?(..)/8
430 \x{660}\x{661}\x{662}ABC
431 0: \x{660}\x{661}\x{662}A
432 1: \x{662}A
433
434/\p{Nd}?(..)/8
435 \x{660}\x{661}\x{662}ABC
436 0: \x{660}\x{661}\x{662}
437 1: \x{661}\x{662}
438
439/\p{Nd}??(..)/8
440 \x{660}\x{661}\x{662}ABC
441 0: \x{660}\x{661}
442 1: \x{660}\x{661}
443
444/\p{Nd}*+(..)/8
445 \x{660}\x{661}\x{662}ABC
446 0: \x{660}\x{661}\x{662}AB
447 1: AB
448
449/\p{Nd}*+(...)/8
450 \x{660}\x{661}\x{662}ABC
451 0: \x{660}\x{661}\x{662}ABC
452 1: ABC
453
454/\p{Nd}*+(....)/8
455 ** Failers
456 0: ** F
457 1: ** F
458 \x{660}\x{661}\x{662}ABC
459No match
460
461/(?<=A\p{Nd})XYZ/8
462 A2XYZ
463 0: XYZ
464 123A5XYZPQR
465 0: XYZ
466 ABA\x{660}XYZpqr
467 0: XYZ
468 ** Failers
469No match
470 AXYZ
471No match
472 XYZ
473No match
474
475/(?<!\pL)XYZ/8
476 1XYZ
477 0: XYZ
478 AB=XYZ..
479 0: XYZ
480 XYZ
481 0: XYZ
482 ** Failers
483No match
484 WXYZ
485No match
486
487/[\P{Nd}]+/8
488 abcd
489 0: abcd
490 ** Failers
491 0: ** Failers
492 1234
493No match
494
495/\D+/8
496 11111111111111111111111111111111111111111111111111111111111111111111111
497No match
498 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
499 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
500
501/\P{Nd}+/8
502 11111111111111111111111111111111111111111111111111111111111111111111111
503No match
504 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
505 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
506
507/[\D]+/8
508 11111111111111111111111111111111111111111111111111111111111111111111111
509No match
510 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
511 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
512
513/[\P{Nd}]+/8
514 11111111111111111111111111111111111111111111111111111111111111111111111
515No match
516 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
517 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
518
519/[\D\P{Nd}]+/8
520 11111111111111111111111111111111111111111111111111111111111111111111111
521No match
522 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
523 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
524
525/\pL/8
526 a
527 0: a
528 A
529 0: A
530
531/\pL/8i
532 a
533 0: a
534 A
535 0: A
536
537/\p{Lu}/8
538 A
539 0: A
540 aZ
541 0: Z
542 ** Failers
543 0: F
544 abc
545No match
546
547/\p{Lu}/8i
548 A
549 0: A
550 aZ
551 0: Z
552 ** Failers
553 0: F
554 abc
555No match
556
557/\p{Ll}/8
558 a
559 0: a
560 Az
561 0: z
562 ** Failers
563 0: a
564 ABC
565No match
566
567/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8
568 A\x{391}\x{10427}\x{ff3a}\x{1fb0}
569 0: A\x{391}\x{10427}\x{ff3a}\x{1fb0}
570 ** Failers
571No match
572 a\x{391}\x{10427}\x{ff3a}\x{1fb0}
573No match
574 A\x{3b1}\x{10427}\x{ff3a}\x{1fb0}
575No match
576 A\x{391}\x{1044F}\x{ff3a}\x{1fb0}
577No match
578 A\x{391}\x{10427}\x{ff5a}\x{1fb0}
579No match
580 A\x{391}\x{10427}\x{ff3a}\x{1fb8}
581No match
582
583/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8i
584 A\x{391}\x{10427}\x{ff3a}\x{1fb0}
585 0: A\x{391}\x{10427}\x{ff3a}\x{1fb0}
586 a\x{391}\x{10427}\x{ff3a}\x{1fb0}
587 0: a\x{391}\x{10427}\x{ff3a}\x{1fb0}
588 A\x{3b1}\x{10427}\x{ff3a}\x{1fb0}
589 0: A\x{3b1}\x{10427}\x{ff3a}\x{1fb0}
590 A\x{391}\x{1044F}\x{ff3a}\x{1fb0}
591 0: A\x{391}\x{1044f}\x{ff3a}\x{1fb0}
592 A\x{391}\x{10427}\x{ff5a}\x{1fb0}
593 0: A\x{391}\x{10427}\x{ff5a}\x{1fb0}
594 A\x{391}\x{10427}\x{ff3a}\x{1fb8}
595 0: A\x{391}\x{10427}\x{ff3a}\x{1fb8}
596
597/\x{391}+/8i
598 \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}
599 0: \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}
600
601/\x{391}{3,5}(.)/8i
602 \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X
603 0: \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X
604 1: X
605
606/\x{391}{3,5}?(.)/8i
607 \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X
608 0: \x{391}\x{3b1}\x{3b1}\x{3b1}
609 1: \x{3b1}
610
611/[\x{391}\x{ff3a}]/8i
612 \x{391}
613 0: \x{391}
614 \x{ff3a}
615 0: \x{ff3a}
616 \x{3b1}
617 0: \x{3b1}
618 \x{ff5a}
619 0: \x{ff5a}
620
621/^[\X]/8
622 X123
623 0: X
624 *** Failers
625No match
626 AXYZ
627No match
628
629/^(\X*)C/8
630 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
631 0: A\x{300}\x{301}\x{302}BC
632 1: A\x{300}\x{301}\x{302}B
633 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
634 0: A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
635 1: A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
636
637/^(\X*?)C/8
638 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
639 0: A\x{300}\x{301}\x{302}BC
640 1: A\x{300}\x{301}\x{302}B
641 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
642 0: A\x{300}\x{301}\x{302}BC
643 1: A\x{300}\x{301}\x{302}B
644
645/^(\X*)(.)/8
646 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
647 0: A\x{300}\x{301}\x{302}BCA
648 1: A\x{300}\x{301}\x{302}BC
649 2: A
650 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
651 0: A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
652 1: A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
653 2: C
654
655/^(\X*?)(.)/8
656 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
657 0: A
658 1:
659 2: A
660 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
661 0: A
662 1:
663 2: A
664
665/^\X(.)/8
666 *** Failers
667 0: **
668 1: *
669 A\x{300}\x{301}\x{302}
670No match
671
672/^\X{2,3}(.)/8
673 A\x{300}\x{301}B\x{300}X
674 0: A\x{300}\x{301}B\x{300}X
675 1: X
676 A\x{300}\x{301}B\x{300}C\x{300}\x{301}
677 0: A\x{300}\x{301}B\x{300}C
678 1: C
679 A\x{300}\x{301}B\x{300}C\x{300}\x{301}X
680 0: A\x{300}\x{301}B\x{300}C\x{300}\x{301}X
681 1: X
682 A\x{300}\x{301}B\x{300}C\x{300}\x{301}DA\x{300}X
683 0: A\x{300}\x{301}B\x{300}C\x{300}\x{301}D
684 1: D
685
686/^\X{2,3}?(.)/8
687 A\x{300}\x{301}B\x{300}X
688 0: A\x{300}\x{301}B\x{300}X
689 1: X
690 A\x{300}\x{301}B\x{300}C\x{300}\x{301}
691 0: A\x{300}\x{301}B\x{300}C
692 1: C
693 A\x{300}\x{301}B\x{300}C\x{300}\x{301}X
694 0: A\x{300}\x{301}B\x{300}C
695 1: C
696 A\x{300}\x{301}B\x{300}C\x{300}\x{301}DA\x{300}X
697 0: A\x{300}\x{301}B\x{300}C
698 1: C
699
700/^\p{Han}+/8
701 \x{2e81}\x{3007}\x{2f804}\x{31a0}
702 0: \x{2e81}\x{3007}\x{2f804}
703 ** Failers
704No match
705 \x{2e7f}
706No match
707
708/^\P{Katakana}+/8
709 \x{3105}
710 0: \x{3105}
711 ** Failers
712 0: ** Failers
713 \x{30ff}
714No match
715
716/^[\p{Arabic}]/8
717 \x{06e9}
718 0: \x{6e9}
719 \x{060b}
720 0: \x{60b}
721 ** Failers
722No match
723 X\x{06e9}
724No match
725
726/^[\P{Yi}]/8
727 \x{2f800}
728 0: \x{2f800}
729 ** Failers
730 0: *
731 \x{a014}
732No match
733 \x{a4c6}
734No match
735
736/^\p{Any}X/8
737 AXYZ
738 0: AX
739 \x{1234}XYZ
740 0: \x{1234}X
741 ** Failers
742No match
743 X
744No match
745
746/^\P{Any}X/8
747 ** Failers
748No match
749 AX
750No match
751
752/^\p{Any}?X/8
753 XYZ
754 0: X
755 AXYZ
756 0: AX
757 \x{1234}XYZ
758 0: \x{1234}X
759 ** Failers
760No match
761 ABXYZ
762No match
763
764/^\P{Any}?X/8
765 XYZ
766 0: X
767 ** Failers
768No match
769 AXYZ
770No match
771 \x{1234}XYZ
772No match
773 ABXYZ
774No match
775
776/^\p{Any}+X/8
777 AXYZ
778 0: AX
779 \x{1234}XYZ
780 0: \x{1234}X
781 A\x{1234}XYZ
782 0: A\x{1234}X
783 ** Failers
784No match
785 XYZ
786No match
787
788/^\P{Any}+X/8
789 ** Failers
790No match
791 AXYZ
792No match
793 \x{1234}XYZ
794No match
795 A\x{1234}XYZ
796No match
797 XYZ
798No match
799
800/^\p{Any}*X/8
801 XYZ
802 0: X
803 AXYZ
804 0: AX
805 \x{1234}XYZ
806 0: \x{1234}X
807 A\x{1234}XYZ
808 0: A\x{1234}X
809 ** Failers
810No match
811
812/^\P{Any}*X/8
813 XYZ
814 0: X
815 ** Failers
816No match
817 AXYZ
818No match
819 \x{1234}XYZ
820No match
821 A\x{1234}XYZ
822No match
823
824/^[\p{Any}]X/8
825 AXYZ
826 0: AX
827 \x{1234}XYZ
828 0: \x{1234}X
829 ** Failers
830No match
831 X
832No match
833
834/^[\P{Any}]X/8
835 ** Failers
836No match
837 AX
838No match
839
840/^[\p{Any}]?X/8
841 XYZ
842 0: X
843 AXYZ
844 0: AX
845 \x{1234}XYZ
846 0: \x{1234}X
847 ** Failers
848No match
849 ABXYZ
850No match
851
852/^[\P{Any}]?X/8
853 XYZ
854 0: X
855 ** Failers
856No match
857 AXYZ
858No match
859 \x{1234}XYZ
860No match
861 ABXYZ
862No match
863
864/^[\p{Any}]+X/8
865 AXYZ
866 0: AX
867 \x{1234}XYZ
868 0: \x{1234}X
869 A\x{1234}XYZ
870 0: A\x{1234}X
871 ** Failers
872No match
873 XYZ
874No match
875
876/^[\P{Any}]+X/8
877 ** Failers
878No match
879 AXYZ
880No match
881 \x{1234}XYZ
882No match
883 A\x{1234}XYZ
884No match
885 XYZ
886No match
887
888/^[\p{Any}]*X/8
889 XYZ
890 0: X
891 AXYZ
892 0: AX
893 \x{1234}XYZ
894 0: \x{1234}X
895 A\x{1234}XYZ
896 0: A\x{1234}X
897 ** Failers
898No match
899
900/^[\P{Any}]*X/8
901 XYZ
902 0: X
903 ** Failers
904No match
905 AXYZ
906No match
907 \x{1234}XYZ
908No match
909 A\x{1234}XYZ
910No match
911
912/^\p{Any}{3,5}?/8
913 abcdefgh
914 0: abc
915 \x{1234}\n\r\x{3456}xyz
916 0: \x{1234}\x{0a}\x{0d}
917
918/^\p{Any}{3,5}/8
919 abcdefgh
920 0: abcde
921 \x{1234}\n\r\x{3456}xyz
922 0: \x{1234}\x{0a}\x{0d}\x{3456}x
923
924/^\P{Any}{3,5}?/8
925 ** Failers
926No match
927 abcdefgh
928No match
929 \x{1234}\n\r\x{3456}xyz
930No match
931
932/^\p{L&}X/8
933 AXY
934 0: AX
935 aXY
936 0: aX
937 \x{1c5}XY
938 0: \x{1c5}X
939 ** Failers
940No match
941 \x{1bb}XY
942No match
943 \x{2b0}XY
944No match
945 !XY
946No match
947
948/^[\p{L&}]X/8
949 AXY
950 0: AX
951 aXY
952 0: aX
953 \x{1c5}XY
954 0: \x{1c5}X
955 ** Failers
956No match
957 \x{1bb}XY
958No match
959 \x{2b0}XY
960No match
961 !XY
962No match
963
964/^\p{L&}+X/8
965 AXY
966 0: AX
967 aXY
968 0: aX
969 AbcdeXyz
970 0: AbcdeX
971 \x{1c5}AbXY
972 0: \x{1c5}AbX
973 abcDEXypqreXlmn
974 0: abcDEXypqreX
975 ** Failers
976No match
977 \x{1bb}XY
978No match
979 \x{2b0}XY
980No match
981 !XY
982No match
983
984/^[\p{L&}]+X/8
985 AXY
986 0: AX
987 aXY
988 0: aX
989 AbcdeXyz
990 0: AbcdeX
991 \x{1c5}AbXY
992 0: \x{1c5}AbX
993 abcDEXypqreXlmn
994 0: abcDEXypqreX
995 ** Failers
996No match
997 \x{1bb}XY
998No match
999 \x{2b0}XY
1000No match
1001 !XY
1002No match
1003
1004/^\p{L&}+?X/8
1005 AXY
1006 0: AX
1007 aXY
1008 0: aX
1009 AbcdeXyz
1010 0: AbcdeX
1011 \x{1c5}AbXY
1012 0: \x{1c5}AbX
1013 abcDEXypqreXlmn
1014 0: abcDEX
1015 ** Failers
1016No match
1017 \x{1bb}XY
1018No match
1019 \x{2b0}XY
1020No match
1021 !XY
1022No match
1023
1024/^[\p{L&}]+?X/8
1025 AXY
1026 0: AX
1027 aXY
1028 0: aX
1029 AbcdeXyz
1030 0: AbcdeX
1031 \x{1c5}AbXY
1032 0: \x{1c5}AbX
1033 abcDEXypqreXlmn
1034 0: abcDEX
1035 ** Failers
1036No match
1037 \x{1bb}XY
1038No match
1039 \x{2b0}XY
1040No match
1041 !XY
1042No match
1043
1044/^\P{L&}X/8
1045 !XY
1046 0: !X
1047 \x{1bb}XY
1048 0: \x{1bb}X
1049 \x{2b0}XY
1050 0: \x{2b0}X
1051 ** Failers
1052No match
1053 \x{1c5}XY
1054No match
1055 AXY
1056No match
1057
1058/^[\P{L&}]X/8
1059 !XY
1060 0: !X
1061 \x{1bb}XY
1062 0: \x{1bb}X
1063 \x{2b0}XY
1064 0: \x{2b0}X
1065 ** Failers
1066No match
1067 \x{1c5}XY
1068No match
1069 AXY
1070No match
1071
1072/^(\p{Z}[^\p{C}\p{Z}]+)*$/
1073 \xa0!
1074 0: \xa0!
1075 1: \xa0!
1076
1077/^[\pL](abc)(?1)/
1078 AabcabcYZ
1079 0: Aabcabc
1080 1: abc
1081
1082/([\pL]=(abc))*X/
1083 L=abcX
1084 0: L=abcX
1085 1: L=abc
1086 2: abc
1087
1088/^\p{Balinese}\p{Cuneiform}\p{Nko}\p{Phags_Pa}\p{Phoenician}/8
1089 \x{1b00}\x{12000}\x{7c0}\x{a840}\x{10900}
1090 0: \x{1b00}\x{12000}\x{7c0}\x{a840}\x{10900}
1091
1092/Check property support in non-UTF-8 mode/
1093
1094/\p{L}{4}/
1095 123abcdefg
1096 0: abcd
1097 123abc\xc4\xc5zz
1098 0: abc\xc4
1099
1100/\X{1,3}\d/
1101 \x8aBCD
1102No match
1103
1104/\X?\d/
1105 \x8aBCD
1106No match
1107
1108/\P{L}?\d/
1109 \x8aBCD
1110No match
1111
1112/[\PPP\x8a]{1,}\x80/
1113 A\x80
1114 0: A\x80
1115
1116/^[\p{Arabic}]/8
1117 \x{60e}
1118 0: \x{60e}
1119 \x{656}
1120 0: \x{656}
1121 \x{657}
1122 0: \x{657}
1123 \x{658}
1124 0: \x{658}
1125 \x{659}
1126 0: \x{659}
1127 \x{65a}
1128 0: \x{65a}
1129 \x{65b}
1130 0: \x{65b}
1131 \x{65c}
1132 0: \x{65c}
1133 \x{65d}
1134 0: \x{65d}
1135 \x{65e}
1136 0: \x{65e}
1137 \x{66a}
1138 0: \x{66a}
1139 \x{6e9}
1140 0: \x{6e9}
1141 \x{6ef}
1142 0: \x{6ef}
1143 \x{6fa}
1144 0: \x{6fa}
1145 ** Failers
1146No match
1147 \x{604}
1148No match
1149 \x{650}
1150No match
1151 \x{651}
1152No match
1153 \x{652}
1154No match
1155 \x{653}
1156No match
1157 \x{654}
1158No match
1159 \x{655}
1160No match
1161 \x{65f}
1162No match
1163
1164/^\p{Cyrillic}/8
1165 \x{1d2b}
1166 0: \x{1d2b}
1167
1168/^\p{Common}/8
1169 \x{589}
1170 0: \x{589}
1171 \x{60c}
1172 0: \x{60c}
1173 \x{61f}
1174 0: \x{61f}
1175 \x{964}
1176 0: \x{964}
1177 \x{965}
1178 0: \x{965}
1179 \x{970}
1180 0: \x{970}
1181
1182/^\p{Inherited}/8
1183 \x{64b}
1184 0: \x{64b}
1185 \x{654}
1186 0: \x{654}
1187 \x{655}
1188 0: \x{655}
1189 \x{200c}
1190 0: \x{200c}
1191 ** Failers
1192No match
1193 \x{64a}
1194No match
1195 \x{656}
1196No match
1197
1198/^\p{Shavian}/8
1199 \x{10450}
1200 0: \x{10450}
1201 \x{1047f}
1202 0: \x{1047f}
1203
1204/^\p{Deseret}/8
1205 \x{10400}
1206 0: \x{10400}
1207 \x{1044f}
1208 0: \x{1044f}
1209
1210/^\p{Osmanya}/8
1211 \x{10480}
1212 0: \x{10480}
1213 \x{1049d}
1214 0: \x{1049d}
1215 \x{104a0}
1216 0: \x{104a0}
1217 \x{104a9}
1218 0: \x{104a9}
1219 ** Failers
1220No match
1221 \x{1049e}
1222No match
1223 \x{1049f}
1224No match
1225 \x{104aa}
1226No match
1227
1228/\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
1229 \x{102A4}\x{AA52}\x{A91D}\x{1C46}\x{10283}\x{1092E}\x{1C6B}\x{A93B}\x{A8BF}\x{1BA0}\x{A50A}====
1230 0: \x{102a4}\x{aa52}\x{a91d}\x{1c46}\x{10283}\x{1092e}\x{1c6b}\x{a93b}\x{a8bf}\x{1ba0}\x{a50a}
1231
1232/\x{a77d}\x{1d79}/8i
1233 \x{a77d}\x{1d79}
1234 0: \x{a77d}\x{1d79}
1235 \x{1d79}\x{a77d}
1236 0: \x{1d79}\x{a77d}
1237
1238/\x{a77d}\x{1d79}/8
1239 \x{a77d}\x{1d79}
1240 0: \x{a77d}\x{1d79}
1241 ** Failers
1242No match
1243 \x{1d79}\x{a77d}
1244No match
1245
1246/(A)\1/8i
1247 AA
1248 0: AA
1249 1: A
1250 Aa
1251 0: Aa
1252 1: A
1253 aa
1254 0: aa
1255 1: a
1256 aA
1257 0: aA
1258 1: a
1259
1260/(\x{10a})\1/8i
1261 \x{10a}\x{10a}
1262 0: \x{10a}\x{10a}
1263 1: \x{10a}
1264 \x{10a}\x{10b}
1265 0: \x{10a}\x{10b}
1266 1: \x{10a}
1267 \x{10b}\x{10b}
1268 0: \x{10b}\x{10b}
1269 1: \x{10b}
1270 \x{10b}\x{10a}
1271 0: \x{10b}\x{10a}
1272 1: \x{10b}
1273
1274/The next two tests are for property support in non-UTF-8 mode/
1275
1276/(?:\p{Lu}|\x20)+/
1277 \x41\x20\x50\xC2\x54\xC9\x20\x54\x4F\x44\x41\x59
1278 0: A P\xc2T\xc9 TODAY
1279
1280/[\p{Lu}\x20]+/
1281 \x41\x20\x50\xC2\x54\xC9\x20\x54\x4F\x44\x41\x59
1282 0: A P\xc2T\xc9 TODAY
1283
1284/\p{Avestan}\p{Bamum}\p{Egyptian_Hieroglyphs}\p{Imperial_Aramaic}\p{Inscriptional_Pahlavi}\p{Inscriptional_Parthian}\p{Javanese}\p{Kaithi}\p{Lisu}\p{Meetei_Mayek}\p{Old_South_Arabian}\p{Old_Turkic}\p{Samaritan}\p{Tai_Tham}\p{Tai_Viet}/8
1285 \x{10b00}\x{a6ef}\x{13007}\x{10857}\x{10b78}\x{10b58}\x{a980}\x{110c1}\x{a4ff}\x{abc0}\x{10a7d}\x{10c48}\x{0800}\x{1aad}\x{aac0}
1286 0: \x{10b00}\x{a6ef}\x{13007}\x{10857}\x{10b78}\x{10b58}\x{a980}\x{110c1}\x{a4ff}\x{abc0}\x{10a7d}\x{10c48}\x{800}\x{1aad}\x{aac0}
1287
1288/^\w+/8W
1289 Az_\x{aa}\x{c0}\x{1c5}\x{2b0}\x{3b6}\x{1d7c9}\x{2fa1d}1\x{660}\x{bef}\x{16ee}
1290 0: Az_\x{aa}\x{c0}\x{1c5}\x{2b0}\x{3b6}\x{1d7c9}\x{2fa1d}1\x{660}\x{bef}\x{16ee}
1291
1292/^[[:xdigit:]]*/8W
1293 1a\x{660}\x{bef}\x{16ee}
1294 0: 1a
1295
1296/^\d+/8W
1297 1\x{660}\x{bef}\x{16ee}
1298 0: 1\x{660}\x{bef}
1299
1300/^[[:digit:]]+/8W
1301 1\x{660}\x{bef}\x{16ee}
1302 0: 1\x{660}\x{bef}
1303
1304/^>\s+/8W
1305 >\x{20}\x{a0}\x{1680}\x{2028}\x{2029}\x{202f}\x{9}\x{b}
1306 0: > \x{a0}\x{1680}\x{2028}\x{2029}\x{202f}\x{09}
1307
1308/^>\pZ+/8W
1309 >\x{20}\x{a0}\x{1680}\x{2028}\x{2029}\x{202f}\x{9}\x{b}
1310 0: > \x{a0}\x{1680}\x{2028}\x{2029}\x{202f}
1311
1312/^>[[:space:]]*/8W
1313 >\x{20}\x{a0}\x{1680}\x{2028}\x{2029}\x{202f}\x{9}\x{b}
1314 0: > \x{a0}\x{1680}\x{2028}\x{2029}\x{202f}\x{09}\x{0b}
1315
1316/^>[[:blank:]]*/8W
1317 >\x{20}\x{a0}\x{1680}\x{180e}\x{2000}\x{202f}\x{9}\x{b}\x{2028}
1318 0: > \x{a0}\x{1680}\x{180e}\x{2000}\x{202f}\x{09}
1319
1320/^[[:alpha:]]*/8W
1321 Az\x{aa}\x{c0}\x{1c5}\x{2b0}\x{3b6}\x{1d7c9}\x{2fa1d}
1322 0: Az\x{aa}\x{c0}\x{1c5}\x{2b0}\x{3b6}\x{1d7c9}\x{2fa1d}
1323
1324/^[[:alnum:]]*/8W
1325 Az\x{aa}\x{c0}\x{1c5}\x{2b0}\x{3b6}\x{1d7c9}\x{2fa1d}1\x{660}\x{bef}\x{16ee}
1326 0: Az\x{aa}\x{c0}\x{1c5}\x{2b0}\x{3b6}\x{1d7c9}\x{2fa1d}1\x{660}\x{bef}\x{16ee}
1327
1328/^[[:cntrl:]]*/8W
1329 \x{0}\x{09}\x{1f}\x{7f}\x{9f}
1330 0: \x{00}\x{09}\x{1f}\x{7f}
1331
1332/^[[:graph:]]*/8W
1333 A\x{a1}\x{a0}
1334 0: A
1335
1336/^[[:print:]]*/8W
1337 A z\x{a0}\x{a1}
1338 0: A z
1339
1340/^[[:punct:]]*/8W
1341 .+\x{a1}\x{a0}
1342 0: .+
1343
1344/\p{Zs}*?\R/
1345 ** Failers
1346No match
1347 a\xFCb
1348No match
1349
1350/\p{Zs}*\R/
1351 ** Failers
1352No match
1353 a\xFCb
1354No match
1355
1356/ⱥ/8i
1357
1358 0: \x{2c65}
1359 Ⱥx
1360 0: \x{23a}
1361 Ⱥ
1362 0: \x{23a}
1363
1364/[ⱥ]/8i
1365
1366 0: \x{2c65}
1367 Ⱥx
1368 0: \x{23a}
1369 Ⱥ
1370 0: \x{23a}
1371
1372/Ⱥ/8i
1373 Ⱥ
1374 0: \x{23a}
1375
1376 0: \x{2c65}
1377
1378/-- End of testinput6 --/