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