/[pcre]/code/trunk/testdata/testoutput13
ViewVC logotype

Contents of /code/trunk/testdata/testoutput13

Parent Directory Parent Directory | Revision Log Revision Log


Revision 689 - (show annotations) (download)
Fri Sep 9 10:34:57 2011 UTC (2 years, 7 months ago) by ph10
File size: 25951 byte(s)
Patch to RunTest for use with simulations; further JIT code/test tidies.

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 /i 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 /i 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{Lu}+9\p{Lu}+B\p{Lu}+b/BZ
1063 ------------------------------------------------------------------
1064 Bra
1065 prop Lu ++
1066 9
1067 prop Lu +
1068 B
1069 prop Lu ++
1070 b
1071 Ket
1072 End
1073 ------------------------------------------------------------------
1074
1075 /\p{^Lu}+9\p{^Lu}+B\p{^Lu}+b/BZ
1076 ------------------------------------------------------------------
1077 Bra
1078 notprop Lu +
1079 9
1080 notprop Lu ++
1081 B
1082 notprop Lu +
1083 b
1084 Ket
1085 End
1086 ------------------------------------------------------------------
1087
1088 /\P{Lu}+9\P{Lu}+B\P{Lu}+b/BZ
1089 ------------------------------------------------------------------
1090 Bra
1091 notprop Lu +
1092 9
1093 notprop Lu ++
1094 B
1095 notprop Lu +
1096 b
1097 Ket
1098 End
1099 ------------------------------------------------------------------
1100
1101 /\p{Han}+X\p{Greek}+\x{370}/BZ8
1102 ------------------------------------------------------------------
1103 Bra
1104 prop Han ++
1105 X
1106 prop Greek +
1107 \x{370}
1108 Ket
1109 End
1110 ------------------------------------------------------------------
1111
1112 /\p{Xan}+!\p{Xan}+A/BZ
1113 ------------------------------------------------------------------
1114 Bra
1115 prop Xan ++
1116 !
1117 prop Xan +
1118 A
1119 Ket
1120 End
1121 ------------------------------------------------------------------
1122
1123 /\p{Xsp}+!\p{Xsp}\t/BZ
1124 ------------------------------------------------------------------
1125 Bra
1126 prop Xsp ++
1127 !
1128 prop Xsp
1129 \x09
1130 Ket
1131 End
1132 ------------------------------------------------------------------
1133
1134 /\p{Xps}+!\p{Xps}\t/BZ
1135 ------------------------------------------------------------------
1136 Bra
1137 prop Xps ++
1138 !
1139 prop Xps
1140 \x09
1141 Ket
1142 End
1143 ------------------------------------------------------------------
1144
1145 /\p{Xwd}+!\p{Xwd}_/BZ
1146 ------------------------------------------------------------------
1147 Bra
1148 prop Xwd ++
1149 !
1150 prop Xwd
1151 _
1152 Ket
1153 End
1154 ------------------------------------------------------------------
1155
1156 /A+\p{N}A+\dB+\p{N}*B+\d*/WBZ
1157 ------------------------------------------------------------------
1158 Bra
1159 A++
1160 prop N
1161 A++
1162 prop Nd
1163 B+
1164 prop N *+
1165 B+
1166 prop Nd *
1167 Ket
1168 End
1169 ------------------------------------------------------------------
1170
1171 /-- These behaved oddly in Perl, so they are kept in this test --/
1172
1173 /(\x{23a}\x{23a}\x{23a})?\1/8i
1174 \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}
1175 No match
1176
1177 /(ȺȺȺ)?\1/8i
1178 ȺȺȺⱥⱥ
1179 No match
1180
1181 /(\x{23a}\x{23a}\x{23a})?\1/8i
1182 \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
1183 0: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
1184 1: \x{23a}\x{23a}\x{23a}
1185
1186 /(ȺȺȺ)?\1/8i
1187 ȺȺȺⱥⱥⱥ
1188 0: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
1189 1: \x{23a}\x{23a}\x{23a}
1190
1191 /(\x{23a}\x{23a}\x{23a})\1/8i
1192 \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}
1193 No match
1194
1195 /(ȺȺȺ)\1/8i
1196 ȺȺȺⱥⱥ
1197 No match
1198
1199 /(\x{23a}\x{23a}\x{23a})\1/8i
1200 \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
1201 0: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
1202 1: \x{23a}\x{23a}\x{23a}
1203
1204 /(ȺȺȺ)\1/8i
1205 ȺȺȺⱥⱥⱥ
1206 0: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
1207 1: \x{23a}\x{23a}\x{23a}
1208
1209 /(\x{2c65}\x{2c65})\1/8i
1210 \x{2c65}\x{2c65}\x{23a}\x{23a}
1211 0: \x{2c65}\x{2c65}\x{23a}\x{23a}
1212 1: \x{2c65}\x{2c65}
1213
1214 /(ⱥⱥ)\1/8i
1215 ⱥⱥȺȺ
1216 0: \x{2c65}\x{2c65}\x{23a}\x{23a}
1217 1: \x{2c65}\x{2c65}
1218
1219 /(\x{23a}\x{23a}\x{23a})\1Y/8i
1220 X\x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}YZ
1221 0: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}Y
1222 1: \x{23a}\x{23a}\x{23a}
1223
1224 /(\x{2c65}\x{2c65})\1Y/8i
1225 X\x{2c65}\x{2c65}\x{23a}\x{23a}YZ
1226 0: \x{2c65}\x{2c65}\x{23a}\x{23a}Y
1227 1: \x{2c65}\x{2c65}
1228
1229 /-- --/
1230
1231 /-- These scripts weren't yet in Perl when I added Unicode 6.0.0 to PCRE --/
1232
1233 /^[\p{Batak}]/8
1234 \x{1bc0}
1235 0: \x{1bc0}
1236 \x{1bff}
1237 0: \x{1bff}
1238 ** Failers
1239 No match
1240 \x{1bf4}
1241 No match
1242
1243 /^[\p{Brahmi}]/8
1244 \x{11000}
1245 0: \x{11000}
1246 \x{1106f}
1247 0: \x{1106f}
1248 ** Failers
1249 No match
1250 \x{1104e}
1251 No match
1252
1253 /^[\p{Mandaic}]/8
1254 \x{840}
1255 0: \x{840}
1256 \x{85e}
1257 0: \x{85e}
1258 ** Failers
1259 No match
1260 \x{85c}
1261 No match
1262 \x{85d}
1263 No match
1264
1265 /-- --/
1266
1267 /(\X*)(.)/s8
1268 A\x{300}
1269 0: A
1270 1:
1271 2: A
1272
1273 /^S(\X*)e(\X*)$/8
1274 Stéréo
1275 No match
1276
1277 /^\X/8
1278 ́réo
1279 No match
1280
1281 /-- End of testinput13 --/

webmaster@exim.org
ViewVC Help
Powered by ViewVC 1.1.12