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