OSDN Git Service

Separate vc71 Build* folders from vc100 (expat)
[winmerge-jp/winmerge-jp.git] / Externals / pcre / testdata / testoutput12
1 /-- These tests for Unicode property support test PCRE's API and show some of
2     the compiled code. They are not Perl-compatible. --/
3
4 /[\p{L}]/DZ
5 ------------------------------------------------------------------
6         Bra
7         [\p{L}]
8         Ket
9         End
10 ------------------------------------------------------------------
11 Capturing subpattern count = 0
12 No options
13 No first char
14 No need char
15
16 /[\p{^L}]/DZ
17 ------------------------------------------------------------------
18         Bra
19         [\P{L}]
20         Ket
21         End
22 ------------------------------------------------------------------
23 Capturing subpattern count = 0
24 No options
25 No first char
26 No need char
27
28 /[\P{L}]/DZ
29 ------------------------------------------------------------------
30         Bra
31         [\P{L}]
32         Ket
33         End
34 ------------------------------------------------------------------
35 Capturing subpattern count = 0
36 No options
37 No first char
38 No need char
39
40 /[\P{^L}]/DZ
41 ------------------------------------------------------------------
42         Bra
43         [\p{L}]
44         Ket
45         End
46 ------------------------------------------------------------------
47 Capturing subpattern count = 0
48 No options
49 No first char
50 No need char
51
52 /[abc\p{L}\x{0660}]/8DZ
53 ------------------------------------------------------------------
54         Bra
55         [a-c\p{L}\x{660}]
56         Ket
57         End
58 ------------------------------------------------------------------
59 Capturing subpattern count = 0
60 Options: utf8
61 No first char
62 No need char
63
64 /[\p{Nd}]/8DZ
65 ------------------------------------------------------------------
66         Bra
67         [\p{Nd}]
68         Ket
69         End
70 ------------------------------------------------------------------
71 Capturing subpattern count = 0
72 Options: utf8
73 No first char
74 No need char
75     1234
76  0: 1
77
78 /[\p{Nd}+-]+/8DZ
79 ------------------------------------------------------------------
80         Bra
81         [+\-\p{Nd}]+
82         Ket
83         End
84 ------------------------------------------------------------------
85 Capturing subpattern count = 0
86 Options: utf8
87 No first char
88 No need char
89     1234
90  0: 1234
91     12-34
92  0: 12-34
93     12+\x{661}-34  
94  0: 12+\x{661}-34
95     ** Failers
96 No match
97     abcd  
98 No match
99
100 /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8iDZ
101 ------------------------------------------------------------------
102         Bra
103      NC A\x{391}\x{10427}\x{ff3a}\x{1fb0}
104         Ket
105         End
106 ------------------------------------------------------------------
107 Capturing subpattern count = 0
108 Options: caseless utf8
109 First char = 'A' (caseless)
110 No need char
111
112 /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8DZ
113 ------------------------------------------------------------------
114         Bra
115         A\x{391}\x{10427}\x{ff3a}\x{1fb0}
116         Ket
117         End
118 ------------------------------------------------------------------
119 Capturing subpattern count = 0
120 Options: utf8
121 First char = 'A'
122 Need char = 176
123
124 /AB\x{1fb0}/8DZ
125 ------------------------------------------------------------------
126         Bra
127         AB\x{1fb0}
128         Ket
129         End
130 ------------------------------------------------------------------
131 Capturing subpattern count = 0
132 Options: utf8
133 First char = 'A'
134 Need char = 176
135
136 /AB\x{1fb0}/8DZi
137 ------------------------------------------------------------------
138         Bra
139      NC AB\x{1fb0}
140         Ket
141         End
142 ------------------------------------------------------------------
143 Capturing subpattern count = 0
144 Options: caseless utf8
145 First char = 'A' (caseless)
146 Need char = 'B' (caseless)
147
148 /[\x{105}-\x{109}]/8iDZ
149 ------------------------------------------------------------------
150         Bra
151         [\x{104}-\x{109}]
152         Ket
153         End
154 ------------------------------------------------------------------
155 Capturing subpattern count = 0
156 Options: caseless utf8
157 No first char
158 No need char
159     \x{104}
160  0: \x{104}
161     \x{105}
162  0: \x{105}
163     \x{109}  
164  0: \x{109}
165     ** Failers
166 No match
167     \x{100}
168 No match
169     \x{10a} 
170 No match
171     
172 /[z-\x{100}]/8iDZ 
173 ------------------------------------------------------------------
174         Bra
175         [Z\x{39c}\x{178}z-\x{101}]
176         Ket
177         End
178 ------------------------------------------------------------------
179 Capturing subpattern count = 0
180 Options: caseless utf8
181 No first char
182 No need char
183     Z
184  0: Z
185     z
186  0: z
187     \x{39c}
188  0: \x{39c}
189     \x{178}
190  0: \x{178}
191     |
192  0: |
193     \x{80}
194  0: \x{80}
195     \x{ff}
196  0: \x{ff}
197     \x{100}
198  0: \x{100}
199     \x{101} 
200  0: \x{101}
201     ** Failers
202 No match
203     \x{102}
204 No match
205     Y
206 No match
207     y           
208 No match
209
210 /[z-\x{100}]/8DZi
211 ------------------------------------------------------------------
212         Bra
213         [Z\x{39c}\x{178}z-\x{101}]
214         Ket
215         End
216 ------------------------------------------------------------------
217 Capturing subpattern count = 0
218 Options: caseless utf8
219 No first char
220 No need char
221
222 /(?:[\PPa*]*){8,}/
223
224 /[\P{Any}]/BZ
225 ------------------------------------------------------------------
226         Bra
227         [\P{Any}]
228         Ket
229         End
230 ------------------------------------------------------------------
231
232 /[\P{Any}\E]/BZ
233 ------------------------------------------------------------------
234         Bra
235         [\P{Any}]
236         Ket
237         End
238 ------------------------------------------------------------------
239
240 /(\P{Yi}+\277)/
241
242 /(\P{Yi}+\277)?/
243
244 /(?<=\P{Yi}{3}A)X/
245
246 /\p{Yi}+(\P{Yi}+)(?1)/
247
248 /(\P{Yi}{2}\277)?/
249
250 /[\P{Yi}A]/
251
252 /[\P{Yi}\P{Yi}\P{Yi}A]/
253
254 /[^\P{Yi}A]/
255
256 /[^\P{Yi}\P{Yi}\P{Yi}A]/
257
258 /(\P{Yi}*\277)*/
259
260 /(\P{Yi}*?\277)*/
261
262 /(\p{Yi}*+\277)*/
263
264 /(\P{Yi}?\277)*/
265
266 /(\P{Yi}??\277)*/
267
268 /(\p{Yi}?+\277)*/
269
270 /(\P{Yi}{0,3}\277)*/
271
272 /(\P{Yi}{0,3}?\277)*/
273
274 /(\p{Yi}{0,3}+\277)*/
275
276 /\p{Zl}{2,3}+/8BZ
277 ------------------------------------------------------------------
278         Bra
279         prop Zl {2}
280         prop Zl ?+
281         Ket
282         End
283 ------------------------------------------------------------------
284     \xe2\x80\xa8\xe2\x80\xa8
285  0: \x{2028}\x{2028}
286     \x{2028}\x{2028}\x{2028}
287  0: \x{2028}\x{2028}\x{2028}
288     
289 /\p{Zl}/8BZ
290 ------------------------------------------------------------------
291         Bra
292         prop Zl
293         Ket
294         End
295 ------------------------------------------------------------------
296
297 /\p{Lu}{3}+/8BZ
298 ------------------------------------------------------------------
299         Bra
300         prop Lu {3}
301         Ket
302         End
303 ------------------------------------------------------------------
304
305 /\pL{2}+/8BZ
306 ------------------------------------------------------------------
307         Bra
308         prop L {2}
309         Ket
310         End
311 ------------------------------------------------------------------
312
313 /\p{Cc}{2}+/8BZ
314 ------------------------------------------------------------------
315         Bra
316         prop Cc {2}
317         Ket
318         End
319 ------------------------------------------------------------------
320
321 /^\p{Cs}/8
322     \?\x{dfff}
323  0: \x{dfff}
324     ** Failers
325 No match
326     \x{09f} 
327 No match
328   
329 /^\p{Sc}+/8
330     $\x{a2}\x{a3}\x{a4}\x{a5}\x{a6}
331  0: $\x{a2}\x{a3}\x{a4}\x{a5}
332     \x{9f2}
333  0: \x{9f2}
334     ** Failers
335 No match
336     X
337 No match
338     \x{2c2}
339 No match
340   
341 /^\p{Zs}/8
342     \ \
343  0:  
344     \x{a0}
345  0: \x{a0}
346     \x{1680}
347  0: \x{1680}
348     \x{180e}
349  0: \x{180e}
350     \x{2000}
351  0: \x{2000}
352     \x{2001}     
353  0: \x{2001}
354     ** Failers
355 No match
356     \x{2028}
357 No match
358     \x{200d} 
359 No match
360   
361 /-- These four are here rather than in test 6 because Perl has problems with
362     the negative versions of the properties. --/
363       
364 /\p{^Lu}/8i
365     1234
366  0: 1
367     ** Failers
368  0: *
369     ABC 
370 No match
371
372 /\P{Lu}/8i
373     1234
374  0: 1
375     ** Failers
376  0: *
377     ABC 
378 No match
379
380 /\p{Ll}/8i 
381     a
382  0: a
383     Az
384  0: z
385     ** Failers
386  0: a
387     ABC   
388 No match
389
390 /\p{Lu}/8i
391     A
392  0: A
393     a\x{10a0}B 
394  0: \x{10a0}
395     ** Failers 
396  0: F
397     a
398 No match
399     \x{1d00}  
400 No match
401
402 /[\x{c0}\x{391}]/8i
403     \x{c0}
404  0: \x{c0}
405     \x{e0} 
406  0: \x{e0}
407
408 /-- The next two are special cases where the lengths of the different cases of
409 the same character differ. The first went wrong with heap frame storage; the
410 second was broken in all cases. --/
411
412 /^\x{023a}+?(\x{0130}+)/8i
413   \x{023a}\x{2c65}\x{0130}
414  0: \x{23a}\x{2c65}\x{130}
415  1: \x{130}
416   
417 /^\x{023a}+([^X])/8i
418   \x{023a}\x{2c65}X
419  0: \x{23a}\x{2c65}
420  1: \x{2c65}
421
422 /\x{c0}+\x{116}+/8i
423     \x{c0}\x{e0}\x{116}\x{117}
424  0: \x{c0}\x{e0}\x{116}\x{117}
425
426 /[\x{c0}\x{116}]+/8i
427     \x{c0}\x{e0}\x{116}\x{117}
428  0: \x{c0}\x{e0}\x{116}\x{117}
429
430 /(\x{de})\1/8i
431     \x{de}\x{de}
432  0: \x{de}\x{de}
433  1: \x{de}
434     \x{de}\x{fe}
435  0: \x{de}\x{fe}
436  1: \x{de}
437     \x{fe}\x{fe}
438  0: \x{fe}\x{fe}
439  1: \x{fe}
440     \x{fe}\x{de}
441  0: \x{fe}\x{de}
442  1: \x{fe}
443
444 /^\x{c0}$/8i
445     \x{c0}
446  0: \x{c0}
447     \x{e0} 
448  0: \x{e0}
449
450 /^\x{e0}$/8i
451     \x{c0}
452  0: \x{c0}
453     \x{e0} 
454  0: \x{e0}
455
456 /-- The next two should be Perl-compatible, but it fails to match \x{e0}. PCRE
457 will match it only with UCP support, because without that it has no notion
458 of case for anything other than the ASCII letters. --/ 
459
460 /((?i)[\x{c0}])/8
461     \x{c0}
462  0: \x{c0}
463  1: \x{c0}
464     \x{e0} 
465  0: \x{e0}
466  1: \x{e0}
467
468 /(?i:[\x{c0}])/8
469     \x{c0}
470  0: \x{c0}
471     \x{e0} 
472  0: \x{e0}
473
474 /-- This should be Perl-compatible but Perl 5.11 gets \x{300} wrong. --/8
475     
476 /^\X/8
477     A
478  0: A
479     A\x{300}BC 
480  0: A\x{300}
481     A\x{300}\x{301}\x{302}BC 
482  0: A\x{300}\x{301}\x{302}
483     *** Failers
484  0: *
485     \x{300}  
486 No match
487     
488 /-- These are PCRE's extra properties to help with Unicodizing \d etc. --/
489
490 /^\p{Xan}/8
491     ABCD
492  0: A
493     1234
494  0: 1
495     \x{6ca}
496  0: \x{6ca}
497     \x{a6c}
498  0: \x{a6c}
499     \x{10a7}   
500  0: \x{10a7}
501     ** Failers
502 No match
503     _ABC   
504 No match
505
506 /^\p{Xan}+/8
507     ABCD1234\x{6ca}\x{a6c}\x{10a7}_
508  0: ABCD1234\x{6ca}\x{a6c}\x{10a7}
509     ** Failers
510 No match
511     _ABC   
512 No match
513
514 /^\p{Xan}+?/8
515     \x{6ca}\x{a6c}\x{10a7}_
516  0: \x{6ca}
517
518 /^\p{Xan}*/8
519     ABCD1234\x{6ca}\x{a6c}\x{10a7}_
520  0: ABCD1234\x{6ca}\x{a6c}\x{10a7}
521     
522 /^\p{Xan}{2,9}/8
523     ABCD1234\x{6ca}\x{a6c}\x{10a7}_
524  0: ABCD1234\x{6ca}
525     
526 /^\p{Xan}{2,9}?/8
527     \x{6ca}\x{a6c}\x{10a7}_
528  0: \x{6ca}\x{a6c}
529     
530 /^[\p{Xan}]/8
531     ABCD1234_
532  0: A
533     1234abcd_
534  0: 1
535     \x{6ca}
536  0: \x{6ca}
537     \x{a6c}
538  0: \x{a6c}
539     \x{10a7}   
540  0: \x{10a7}
541     ** Failers
542 No match
543     _ABC   
544 No match
545  
546 /^[\p{Xan}]+/8
547     ABCD1234\x{6ca}\x{a6c}\x{10a7}_
548  0: ABCD1234\x{6ca}\x{a6c}\x{10a7}
549     ** Failers
550 No match
551     _ABC   
552 No match
553
554 /^>\p{Xsp}/8
555     >\x{1680}\x{2028}\x{0b}
556  0: >\x{1680}
557     >\x{a0} 
558  0: >\x{a0}
559     ** Failers
560 No match
561     \x{0b} 
562 No match
563
564 /^>\p{Xsp}+/8
565     > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
566  0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}
567
568 /^>\p{Xsp}+?/8
569     >\x{1680}\x{2028}\x{0b}
570  0: >\x{1680}
571
572 /^>\p{Xsp}*/8
573     > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
574  0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}
575     
576 /^>\p{Xsp}{2,9}/8
577     > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
578  0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}
579     
580 /^>\p{Xsp}{2,9}?/8
581     > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
582  0: > \x{09}
583     
584 /^>[\p{Xsp}]/8
585     >\x{2028}\x{0b}
586  0: >\x{2028}
587  
588 /^>[\p{Xsp}]+/8
589     > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
590  0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}
591
592 /^>\p{Xps}/8
593     >\x{1680}\x{2028}\x{0b}
594  0: >\x{1680}
595     >\x{a0} 
596  0: >\x{a0}
597     ** Failers
598 No match
599     \x{0b} 
600 No match
601
602 /^>\p{Xps}+/8
603     > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
604  0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
605
606 /^>\p{Xps}+?/8
607     >\x{1680}\x{2028}\x{0b}
608  0: >\x{1680}
609
610 /^>\p{Xps}*/8
611     > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
612  0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
613     
614 /^>\p{Xps}{2,9}/8
615     > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
616  0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
617     
618 /^>\p{Xps}{2,9}?/8
619     > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
620  0: > \x{09}
621     
622 /^>[\p{Xps}]/8
623     >\x{2028}\x{0b}
624  0: >\x{2028}
625  
626 /^>[\p{Xps}]+/8
627     > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
628  0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
629
630 /^\p{Xwd}/8
631     ABCD
632  0: A
633     1234
634  0: 1
635     \x{6ca}
636  0: \x{6ca}
637     \x{a6c}
638  0: \x{a6c}
639     \x{10a7}
640  0: \x{10a7}
641     _ABC    
642  0: _
643     ** Failers
644 No match
645     [] 
646 No match
647
648 /^\p{Xwd}+/8
649     ABCD1234\x{6ca}\x{a6c}\x{10a7}_
650  0: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
651
652 /^\p{Xwd}+?/8
653     \x{6ca}\x{a6c}\x{10a7}_
654  0: \x{6ca}
655
656 /^\p{Xwd}*/8
657     ABCD1234\x{6ca}\x{a6c}\x{10a7}_
658  0: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
659     
660 /^\p{Xwd}{2,9}/8
661     A_B12\x{6ca}\x{a6c}\x{10a7}
662  0: A_B12\x{6ca}\x{a6c}\x{10a7}
663     
664 /^\p{Xwd}{2,9}?/8
665     \x{6ca}\x{a6c}\x{10a7}_
666  0: \x{6ca}\x{a6c}
667     
668 /^[\p{Xwd}]/8
669     ABCD1234_
670  0: A
671     1234abcd_
672  0: 1
673     \x{6ca}
674  0: \x{6ca}
675     \x{a6c}
676  0: \x{a6c}
677     \x{10a7}   
678  0: \x{10a7}
679     _ABC 
680  0: _
681     ** Failers
682 No match
683     []   
684 No match
685  
686 /^[\p{Xwd}]+/8
687     ABCD1234\x{6ca}\x{a6c}\x{10a7}_
688  0: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
689
690 /-- A check not in UTF-8 mode --/
691
692 /^[\p{Xwd}]+/
693     ABCD1234_
694  0: ABCD1234_
695     
696 /-- Some negative checks --/
697
698 /^[\P{Xwd}]+/8
699     !.+\x{019}\x{35a}AB
700  0: !.+\x{19}\x{35a}
701
702 /^[\p{^Xwd}]+/8
703     !.+\x{019}\x{35a}AB
704  0: !.+\x{19}\x{35a}
705
706 /[\D]/WBZ8
707 ------------------------------------------------------------------
708         Bra
709         [\P{Nd}]
710         Ket
711         End
712 ------------------------------------------------------------------
713     1\x{3c8}2
714  0: \x{3c8}
715
716 /[\d]/WBZ8
717 ------------------------------------------------------------------
718         Bra
719         [\p{Nd}]
720         Ket
721         End
722 ------------------------------------------------------------------
723     >\x{6f4}<
724  0: \x{6f4}
725
726 /[\S]/WBZ8
727 ------------------------------------------------------------------
728         Bra
729         [\P{Xsp}]
730         Ket
731         End
732 ------------------------------------------------------------------
733     \x{1680}\x{6f4}\x{1680}
734  0: \x{6f4}
735
736 /[\s]/WBZ8
737 ------------------------------------------------------------------
738         Bra
739         [\p{Xsp}]
740         Ket
741         End
742 ------------------------------------------------------------------
743     >\x{1680}<
744  0: \x{1680}
745
746 /[\W]/WBZ8
747 ------------------------------------------------------------------
748         Bra
749         [\P{Xwd}]
750         Ket
751         End
752 ------------------------------------------------------------------
753     A\x{1712}B
754  0: \x{1712}
755
756 /[\w]/WBZ8
757 ------------------------------------------------------------------
758         Bra
759         [\p{Xwd}]
760         Ket
761         End
762 ------------------------------------------------------------------
763     >\x{1723}<
764  0: \x{1723}
765
766 /\D/WBZ8
767 ------------------------------------------------------------------
768         Bra
769         notprop Nd
770         Ket
771         End
772 ------------------------------------------------------------------
773     1\x{3c8}2
774  0: \x{3c8}
775
776 /\d/WBZ8
777 ------------------------------------------------------------------
778         Bra
779         prop Nd
780         Ket
781         End
782 ------------------------------------------------------------------
783     >\x{6f4}<
784  0: \x{6f4}
785
786 /\S/WBZ8
787 ------------------------------------------------------------------
788         Bra
789         notprop Xsp
790         Ket
791         End
792 ------------------------------------------------------------------
793     \x{1680}\x{6f4}\x{1680}
794  0: \x{6f4}
795
796 /\s/WBZ8
797 ------------------------------------------------------------------
798         Bra
799         prop Xsp
800         Ket
801         End
802 ------------------------------------------------------------------
803     >\x{1680}>
804  0: \x{1680}
805
806 /\W/WBZ8
807 ------------------------------------------------------------------
808         Bra
809         notprop Xwd
810         Ket
811         End
812 ------------------------------------------------------------------
813     A\x{1712}B
814  0: \x{1712}
815
816 /\w/WBZ8
817 ------------------------------------------------------------------
818         Bra
819         prop Xwd
820         Ket
821         End
822 ------------------------------------------------------------------
823     >\x{1723}<
824  0: \x{1723}
825
826 /[[:alpha:]]/WBZ
827 ------------------------------------------------------------------
828         Bra
829         [\p{L}]
830         Ket
831         End
832 ------------------------------------------------------------------
833
834 /[[:lower:]]/WBZ
835 ------------------------------------------------------------------
836         Bra
837         [\p{Ll}]
838         Ket
839         End
840 ------------------------------------------------------------------
841
842 /[[:upper:]]/WBZ
843 ------------------------------------------------------------------
844         Bra
845         [\p{Lu}]
846         Ket
847         End
848 ------------------------------------------------------------------
849
850 /[[:alnum:]]/WBZ
851 ------------------------------------------------------------------
852         Bra
853         [\p{Xan}]
854         Ket
855         End
856 ------------------------------------------------------------------
857
858 /[[:ascii:]]/WBZ
859 ------------------------------------------------------------------
860         Bra
861         [\x00-\x7f]
862         Ket
863         End
864 ------------------------------------------------------------------
865
866 /[[:blank:]]/WBZ
867 ------------------------------------------------------------------
868         Bra
869         [\x09 \xa0]
870         Ket
871         End
872 ------------------------------------------------------------------
873
874 /[[:cntrl:]]/WBZ
875 ------------------------------------------------------------------
876         Bra
877         [\x00-\x1f\x7f]
878         Ket
879         End
880 ------------------------------------------------------------------
881
882 /[[:digit:]]/WBZ
883 ------------------------------------------------------------------
884         Bra
885         [\p{Nd}]
886         Ket
887         End
888 ------------------------------------------------------------------
889
890 /[[:graph:]]/WBZ
891 ------------------------------------------------------------------
892         Bra
893         [!-~]
894         Ket
895         End
896 ------------------------------------------------------------------
897
898 /[[:print:]]/WBZ
899 ------------------------------------------------------------------
900         Bra
901         [ -~]
902         Ket
903         End
904 ------------------------------------------------------------------
905
906 /[[:punct:]]/WBZ
907 ------------------------------------------------------------------
908         Bra
909         [!-/:-@[-`{-~]
910         Ket
911         End
912 ------------------------------------------------------------------
913
914 /[[:space:]]/WBZ
915 ------------------------------------------------------------------
916         Bra
917         [\p{Xps}]
918         Ket
919         End
920 ------------------------------------------------------------------
921
922 /[[:word:]]/WBZ
923 ------------------------------------------------------------------
924         Bra
925         [\p{Xwd}]
926         Ket
927         End
928 ------------------------------------------------------------------
929
930 /[[:xdigit:]]/WBZ
931 ------------------------------------------------------------------
932         Bra
933         [0-9A-Fa-f]
934         Ket
935         End
936 ------------------------------------------------------------------
937
938 /-- Unicode properties for \b abd \B --/
939
940 /\b...\B/8W
941     abc_
942  0: abc
943     \x{37e}abc\x{376} 
944  0: abc
945     \x{37e}\x{376}\x{371}\x{393}\x{394} 
946  0: \x{376}\x{371}\x{393}
947     !\x{c0}++\x{c1}\x{c2} 
948  0: ++\x{c1}
949     !\x{c0}+++++ 
950  0: \x{c0}++
951
952 /-- Without PCRE_UCP, non-ASCII always fail, even if < 256  --/
953
954 /\b...\B/8
955     abc_
956  0: abc
957     ** Failers 
958  0: Fai
959     \x{37e}abc\x{376} 
960 No match
961     \x{37e}\x{376}\x{371}\x{393}\x{394} 
962 No match
963     !\x{c0}++\x{c1}\x{c2} 
964 No match
965     !\x{c0}+++++ 
966 No match
967
968 /-- With PCRE_UCP, non-UTF8 chars that are < 256 still check properties  --/
969
970 /\b...\B/W
971     abc_
972  0: abc
973     !\x{c0}++\x{c1}\x{c2} 
974  0: ++\xc1
975     !\x{c0}+++++ 
976  0: \xc0++
977
978 /-- POSIX interface --/
979
980 /\w/P
981     +++\x{c2}
982 No match: POSIX code 17: match failed
983
984 /\w/WP
985     +++\x{c2}
986  0: \xc2
987     
988 /-- Some of these are silly, but they check various combinations --/
989
990 /[[:^alpha:][:^cntrl:]]+/8WBZ
991 ------------------------------------------------------------------
992         Bra
993         [ -~\x80-\xff\P{L}]+
994         Ket
995         End
996 ------------------------------------------------------------------
997     123
998  0: 123
999     abc 
1000  0: abc
1001
1002 /[[:^cntrl:][:^alpha:]]+/8WBZ
1003 ------------------------------------------------------------------
1004         Bra
1005         [ -~\x80-\xff\P{L}]+
1006         Ket
1007         End
1008 ------------------------------------------------------------------
1009     123
1010  0: 123
1011     abc 
1012  0: abc
1013
1014 /[[:alpha:]]+/8WBZ
1015 ------------------------------------------------------------------
1016         Bra
1017         [\p{L}]+
1018         Ket
1019         End
1020 ------------------------------------------------------------------
1021     abc
1022  0: abc
1023
1024 /[[:^alpha:]\S]+/8WBZ
1025 ------------------------------------------------------------------
1026         Bra
1027         [\P{L}\P{Xsp}]+
1028         Ket
1029         End
1030 ------------------------------------------------------------------
1031     123
1032  0: 123
1033     abc 
1034  0: abc
1035
1036 /[^\d]+/8WBZ
1037 ------------------------------------------------------------------
1038         Bra
1039         [^\p{Nd}]+
1040         Ket
1041         End
1042 ------------------------------------------------------------------
1043     abc123
1044  0: abc
1045     abc\x{123}
1046  0: abc\x{123}
1047     \x{660}abc   
1048  0: abc
1049
1050 /\x{401}\x{420}\x{421}\x{422}\x{423}\x{424}\x{425}\x{426}\x{427}\x{428}\x{429}\x{42a}\x{42b}\x{42c}\x{42d}\x{42e}\x{42f}/8iSI
1051 Capturing subpattern count = 0
1052 Options: caseless utf8
1053 No first char
1054 No need char
1055 Subject length lower bound = 17
1056 Starting byte set: \xd0 \xd1 
1057     \x{401}\x{420}\x{421}\x{422}\x{423}\x{424}\x{425}\x{426}\x{427}\x{428}\x{429}\x{42a}\x{42b}\x{42c}\x{42d}\x{42e}\x{42f}
1058  0: \x{401}\x{420}\x{421}\x{422}\x{423}\x{424}\x{425}\x{426}\x{427}\x{428}\x{429}\x{42a}\x{42b}\x{42c}\x{42d}\x{42e}\x{42f}
1059     \x{451}\x{440}\x{441}\x{442}\x{443}\x{444}\x{445}\x{446}\x{447}\x{448}\x{449}\x{44a}\x{44b}\x{44c}\x{44d}\x{44e}\x{44f}
1060  0: \x{451}\x{440}\x{441}\x{442}\x{443}\x{444}\x{445}\x{446}\x{447}\x{448}\x{449}\x{44a}\x{44b}\x{44c}\x{44d}\x{44e}\x{44f}
1061
1062 /\p{Xps}*/SI
1063 Capturing subpattern count = 0
1064 No options
1065 No first char
1066 No need char
1067 Subject length lower bound = 0
1068 No set of starting bytes
1069
1070 /\p{Lu}+9\p{Lu}+B\p{Lu}+b/BZ
1071 ------------------------------------------------------------------
1072         Bra
1073         prop Lu ++
1074         9
1075         prop Lu +
1076         B
1077         prop Lu ++
1078         b
1079         Ket
1080         End
1081 ------------------------------------------------------------------
1082
1083 /\p{^Lu}+9\p{^Lu}+B\p{^Lu}+b/BZ
1084 ------------------------------------------------------------------
1085         Bra
1086         notprop Lu +
1087         9
1088         notprop Lu ++
1089         B
1090         notprop Lu +
1091         b
1092         Ket
1093         End
1094 ------------------------------------------------------------------
1095
1096 /\P{Lu}+9\P{Lu}+B\P{Lu}+b/BZ
1097 ------------------------------------------------------------------
1098         Bra
1099         notprop Lu +
1100         9
1101         notprop Lu ++
1102         B
1103         notprop Lu +
1104         b
1105         Ket
1106         End
1107 ------------------------------------------------------------------
1108
1109 /\p{Han}+X\p{Greek}+\x{370}/BZ8
1110 ------------------------------------------------------------------
1111         Bra
1112         prop Han ++
1113         X
1114         prop Greek +
1115         \x{370}
1116         Ket
1117         End
1118 ------------------------------------------------------------------
1119
1120 /\p{Xan}+!\p{Xan}+A/BZ
1121 ------------------------------------------------------------------
1122         Bra
1123         prop Xan ++
1124         !
1125         prop Xan +
1126         A
1127         Ket
1128         End
1129 ------------------------------------------------------------------
1130
1131 /\p{Xsp}+!\p{Xsp}\t/BZ
1132 ------------------------------------------------------------------
1133         Bra
1134         prop Xsp ++
1135         !
1136         prop Xsp
1137         \x09
1138         Ket
1139         End
1140 ------------------------------------------------------------------
1141
1142 /\p{Xps}+!\p{Xps}\t/BZ
1143 ------------------------------------------------------------------
1144         Bra
1145         prop Xps ++
1146         !
1147         prop Xps
1148         \x09
1149         Ket
1150         End
1151 ------------------------------------------------------------------
1152
1153 /\p{Xwd}+!\p{Xwd}_/BZ
1154 ------------------------------------------------------------------
1155         Bra
1156         prop Xwd ++
1157         !
1158         prop Xwd
1159         _
1160         Ket
1161         End
1162 ------------------------------------------------------------------
1163
1164 /A+\p{N}A+\dB+\p{N}*B+\d*/WBZ
1165 ------------------------------------------------------------------
1166         Bra
1167         A++
1168         prop N
1169         A++
1170         prop Nd
1171         B+
1172         prop N *+
1173         B+
1174         prop Nd *
1175         Ket
1176         End
1177 ------------------------------------------------------------------
1178
1179 /-- End of testinput12 --/