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

Contents of /code/trunk/testdata/testoutput7

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1362 - (show annotations)
Tue Oct 1 11:27:04 2013 UTC (5 years, 11 months ago) by chpe
File size: 30763 byte(s)
unicode: Update to Unicode 6.3.0 release
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: utf
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: utf
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: utf
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 /[\x{105}-\x{109}]/8iDZ
101 ------------------------------------------------------------------
102 Bra
103 [\x{104}-\x{109}]
104 Ket
105 End
106 ------------------------------------------------------------------
107 Capturing subpattern count = 0
108 Options: caseless utf
109 No first char
110 No need char
111 \x{104}
112 0: \x{104}
113 \x{105}
114 0: \x{105}
115 \x{109}
116 0: \x{109}
117 ** Failers
118 No match
119 \x{100}
120 No match
121 \x{10a}
122 No match
123
124 /[z-\x{100}]/8iDZ
125 ------------------------------------------------------------------
126 Bra
127 [Z\x{39c}\x{3bc}\x{1e9e}\x{178}z-\x{101}]
128 Ket
129 End
130 ------------------------------------------------------------------
131 Capturing subpattern count = 0
132 Options: caseless utf
133 No first char
134 No need char
135 Z
136 0: Z
137 z
138 0: z
139 \x{39c}
140 0: \x{39c}
141 \x{178}
142 0: \x{178}
143 |
144 0: |
145 \x{80}
146 0: \x{80}
147 \x{ff}
148 0: \x{ff}
149 \x{100}
150 0: \x{100}
151 \x{101}
152 0: \x{101}
153 ** Failers
154 No match
155 \x{102}
156 No match
157 Y
158 No match
159 y
160 No match
161
162 /[z-\x{100}]/8DZi
163 ------------------------------------------------------------------
164 Bra
165 [Z\x{39c}\x{3bc}\x{1e9e}\x{178}z-\x{101}]
166 Ket
167 End
168 ------------------------------------------------------------------
169 Capturing subpattern count = 0
170 Options: caseless utf
171 No first char
172 No need char
173
174 /(?:[\PPa*]*){8,}/
175
176 /[\P{Any}]/BZ
177 ------------------------------------------------------------------
178 Bra
179 [\P{Any}]
180 Ket
181 End
182 ------------------------------------------------------------------
183
184 /[\P{Any}\E]/BZ
185 ------------------------------------------------------------------
186 Bra
187 [\P{Any}]
188 Ket
189 End
190 ------------------------------------------------------------------
191
192 /(\P{Yi}+\277)/
193
194 /(\P{Yi}+\277)?/
195
196 /(?<=\P{Yi}{3}A)X/
197
198 /\p{Yi}+(\P{Yi}+)(?1)/
199
200 /(\P{Yi}{2}\277)?/
201
202 /[\P{Yi}A]/
203
204 /[\P{Yi}\P{Yi}\P{Yi}A]/
205
206 /[^\P{Yi}A]/
207
208 /[^\P{Yi}\P{Yi}\P{Yi}A]/
209
210 /(\P{Yi}*\277)*/
211
212 /(\P{Yi}*?\277)*/
213
214 /(\p{Yi}*+\277)*/
215
216 /(\P{Yi}?\277)*/
217
218 /(\P{Yi}??\277)*/
219
220 /(\p{Yi}?+\277)*/
221
222 /(\P{Yi}{0,3}\277)*/
223
224 /(\P{Yi}{0,3}?\277)*/
225
226 /(\p{Yi}{0,3}+\277)*/
227
228 /\p{Zl}{2,3}+/8BZ
229 ------------------------------------------------------------------
230 Bra
231 prop Zl {2}
232 prop Zl ?+
233 Ket
234 End
235 ------------------------------------------------------------------
236 


237 0: \x{2028}\x{2028}
238 \x{2028}\x{2028}\x{2028}
239 0: \x{2028}\x{2028}\x{2028}
240
241 /\p{Zl}/8BZ
242 ------------------------------------------------------------------
243 Bra
244 prop Zl
245 Ket
246 End
247 ------------------------------------------------------------------
248
249 /\p{Lu}{3}+/8BZ
250 ------------------------------------------------------------------
251 Bra
252 prop Lu {3}
253 Ket
254 End
255 ------------------------------------------------------------------
256
257 /\pL{2}+/8BZ
258 ------------------------------------------------------------------
259 Bra
260 prop L {2}
261 Ket
262 End
263 ------------------------------------------------------------------
264
265 /\p{Cc}{2}+/8BZ
266 ------------------------------------------------------------------
267 Bra
268 prop Cc {2}
269 Ket
270 End
271 ------------------------------------------------------------------
272
273 /^\p{Cf}/8
274 \x{180e}
275 0: \x{180e}
276 \x{061c}
277 0: \x{61c}
278 \x{2066}
279 0: \x{2066}
280 \x{2067}
281 0: \x{2067}
282 \x{2068}
283 0: \x{2068}
284 \x{2069}
285 0: \x{2069}
286
287 /^\p{Cs}/8
288 \?\x{dfff}
289 0: \x{dfff}
290 ** Failers
291 No match
292 \x{09f}
293 No match
294
295 /^\p{Mn}/8
296 \x{1a1b}
297 0: \x{1a1b}
298
299 /^\p{Pe}/8
300 \x{2309}
301 0: \x{2309}
302 \x{230b}
303 0: \x{230b}
304
305 /^\p{Ps}/8
306 \x{2308}
307 0: \x{2308}
308 \x{230a}
309 0: \x{230a}
310
311 /^\p{Sc}+/8
312 $\x{a2}\x{a3}\x{a4}\x{a5}\x{a6}
313 0: $\x{a2}\x{a3}\x{a4}\x{a5}
314 \x{9f2}
315 0: \x{9f2}
316 ** Failers
317 No match
318 X
319 No match
320 \x{2c2}
321 No match
322
323 /^\p{Zs}/8
324 \ \
325 0:
326 \x{a0}
327 0: \x{a0}
328 \x{1680}
329 0: \x{1680}
330 \x{2000}
331 0: \x{2000}
332 \x{2001}
333 0: \x{2001}
334 ** Failers
335 No match
336 \x{2028}
337 No match
338 \x{200d}
339 No match
340
341 /-- These are here rather than in test 6 because Perl has problems with
342 the negative versions of the properties and behaves has changed how
343 it behaves for caseless matching. --/
344
345 /\p{^Lu}/8i
346 1234
347 0: 1
348 ** Failers
349 0: *
350 ABC
351 No match
352
353 /\P{Lu}/8i
354 1234
355 0: 1
356 ** Failers
357 0: *
358 ABC
359 No match
360
361 /\p{Ll}/8i
362 a
363 0: a
364 Az
365 0: z
366 ** Failers
367 0: a
368 ABC
369 No match
370
371 /\p{Lu}/8i
372 A
373 0: A
374 a\x{10a0}B
375 0: \x{10a0}
376 ** Failers
377 0: F
378 a
379 No match
380 \x{1d00}
381 No match
382
383 /\p{Lu}/8i
384 A
385 0: A
386 aZ
387 0: Z
388 ** Failers
389 0: F
390 abc
391 No match
392
393 /[\x{c0}\x{391}]/8i
394 \x{c0}
395 0: \x{c0}
396 \x{e0}
397 0: \x{e0}
398
399 /-- The next two are special cases where the lengths of the different cases of
400 the same character differ. The first went wrong with heap frame storage; the
401 second was broken in all cases. --/
402
403 /^\x{023a}+?(\x{0130}+)/8i
404 \x{023a}\x{2c65}\x{0130}
405 0: \x{23a}\x{2c65}\x{130}
406 1: \x{130}
407
408 /^\x{023a}+([^X])/8i
409 \x{023a}\x{2c65}X
410 0: \x{23a}\x{2c65}
411 1: \x{2c65}
412
413 /\x{c0}+\x{116}+/8i
414 \x{c0}\x{e0}\x{116}\x{117}
415 0: \x{c0}\x{e0}\x{116}\x{117}
416
417 /[\x{c0}\x{116}]+/8i
418 \x{c0}\x{e0}\x{116}\x{117}
419 0: \x{c0}\x{e0}\x{116}\x{117}
420
421 /(\x{de})\1/8i
422 \x{de}\x{de}
423 0: \x{de}\x{de}
424 1: \x{de}
425 \x{de}\x{fe}
426 0: \x{de}\x{fe}
427 1: \x{de}
428 \x{fe}\x{fe}
429 0: \x{fe}\x{fe}
430 1: \x{fe}
431 \x{fe}\x{de}
432 0: \x{fe}\x{de}
433 1: \x{fe}
434
435 /^\x{c0}$/8i
436 \x{c0}
437 0: \x{c0}
438 \x{e0}
439 0: \x{e0}
440
441 /^\x{e0}$/8i
442 \x{c0}
443 0: \x{c0}
444 \x{e0}
445 0: \x{e0}
446
447 /-- The next two should be Perl-compatible, but it fails to match \x{e0}. PCRE
448 will match it only with UCP support, because without that it has no notion
449 of case for anything other than the ASCII letters. --/
450
451 /((?i)[\x{c0}])/8
452 \x{c0}
453 0: \x{c0}
454 1: \x{c0}
455 \x{e0}
456 0: \x{e0}
457 1: \x{e0}
458
459 /(?i:[\x{c0}])/8
460 \x{c0}
461 0: \x{c0}
462 \x{e0}
463 0: \x{e0}
464
465 /-- These are PCRE's extra properties to help with Unicodizing \d etc. --/
466
467 /^\p{Xan}/8
468 ABCD
469 0: A
470 1234
471 0: 1
472 \x{6ca}
473 0: \x{6ca}
474 \x{a6c}
475 0: \x{a6c}
476 \x{10a7}
477 0: \x{10a7}
478 ** Failers
479 No match
480 _ABC
481 No match
482
483 /^\p{Xan}+/8
484 ABCD1234\x{6ca}\x{a6c}\x{10a7}_
485 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}
486 ** Failers
487 No match
488 _ABC
489 No match
490
491 /^\p{Xan}+?/8
492 \x{6ca}\x{a6c}\x{10a7}_
493 0: \x{6ca}
494
495 /^\p{Xan}*/8
496 ABCD1234\x{6ca}\x{a6c}\x{10a7}_
497 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}
498
499 /^\p{Xan}{2,9}/8
500 ABCD1234\x{6ca}\x{a6c}\x{10a7}_
501 0: ABCD1234\x{6ca}
502
503 /^\p{Xan}{2,9}?/8
504 \x{6ca}\x{a6c}\x{10a7}_
505 0: \x{6ca}\x{a6c}
506
507 /^[\p{Xan}]/8
508 ABCD1234_
509 0: A
510 1234abcd_
511 0: 1
512 \x{6ca}
513 0: \x{6ca}
514 \x{a6c}
515 0: \x{a6c}
516 \x{10a7}
517 0: \x{10a7}
518 ** Failers
519 No match
520 _ABC
521 No match
522
523 /^[\p{Xan}]+/8
524 ABCD1234\x{6ca}\x{a6c}\x{10a7}_
525 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}
526 ** Failers
527 No match
528 _ABC
529 No match
530
531 /^>\p{Xsp}/8
532 >\x{1680}\x{2028}\x{0b}
533 0: >\x{1680}
534 >\x{a0}
535 0: >\x{a0}
536 ** Failers
537 No match
538 \x{0b}
539 No match
540
541 /^>\p{Xsp}+/8
542 > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
543 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}
544
545 /^>\p{Xsp}+?/8
546 >\x{1680}\x{2028}\x{0b}
547 0: >\x{1680}
548
549 /^>\p{Xsp}*/8
550 > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
551 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}
552
553 /^>\p{Xsp}{2,9}/8
554 > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
555 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}
556
557 /^>\p{Xsp}{2,9}?/8
558 > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
559 0: > \x{09}
560
561 /^>[\p{Xsp}]/8
562 >\x{2028}\x{0b}
563 0: >\x{2028}
564
565 /^>[\p{Xsp}]+/8
566 > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
567 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}
568
569 /^>\p{Xps}/8
570 >\x{1680}\x{2028}\x{0b}
571 0: >\x{1680}
572 >\x{a0}
573 0: >\x{a0}
574 ** Failers
575 No match
576 \x{0b}
577 No match
578
579 /^>\p{Xps}+/8
580 > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
581 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
582
583 /^>\p{Xps}+?/8
584 >\x{1680}\x{2028}\x{0b}
585 0: >\x{1680}
586
587 /^>\p{Xps}*/8
588 > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
589 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
590
591 /^>\p{Xps}{2,9}/8
592 > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
593 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
594
595 /^>\p{Xps}{2,9}?/8
596 > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
597 0: > \x{09}
598
599 /^>[\p{Xps}]/8
600 >\x{2028}\x{0b}
601 0: >\x{2028}
602
603 /^>[\p{Xps}]+/8
604 > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
605 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
606
607 /^\p{Xwd}/8
608 ABCD
609 0: A
610 1234
611 0: 1
612 \x{6ca}
613 0: \x{6ca}
614 \x{a6c}
615 0: \x{a6c}
616 \x{10a7}
617 0: \x{10a7}
618 _ABC
619 0: _
620 ** Failers
621 No match
622 []
623 No match
624
625 /^\p{Xwd}+/8
626 ABCD1234\x{6ca}\x{a6c}\x{10a7}_
627 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
628
629 /^\p{Xwd}+?/8
630 \x{6ca}\x{a6c}\x{10a7}_
631 0: \x{6ca}
632
633 /^\p{Xwd}*/8
634 ABCD1234\x{6ca}\x{a6c}\x{10a7}_
635 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
636
637 /^\p{Xwd}{2,9}/8
638 A_B12\x{6ca}\x{a6c}\x{10a7}
639 0: A_B12\x{6ca}\x{a6c}\x{10a7}
640
641 /^\p{Xwd}{2,9}?/8
642 \x{6ca}\x{a6c}\x{10a7}_
643 0: \x{6ca}\x{a6c}
644
645 /^[\p{Xwd}]/8
646 ABCD1234_
647 0: A
648 1234abcd_
649 0: 1
650 \x{6ca}
651 0: \x{6ca}
652 \x{a6c}
653 0: \x{a6c}
654 \x{10a7}
655 0: \x{10a7}
656 _ABC
657 0: _
658 ** Failers
659 No match
660 []
661 No match
662
663 /^[\p{Xwd}]+/8
664 ABCD1234\x{6ca}\x{a6c}\x{10a7}_
665 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
666
667 /-- A check not in UTF-8 mode --/
668
669 /^[\p{Xwd}]+/
670 ABCD1234_
671 0: ABCD1234_
672
673 /-- Some negative checks --/
674
675 /^[\P{Xwd}]+/8
676 !.+\x{019}\x{35a}AB
677 0: !.+\x{19}\x{35a}
678
679 /^[\p{^Xwd}]+/8
680 !.+\x{019}\x{35a}AB
681 0: !.+\x{19}\x{35a}
682
683 /[\D]/WBZ8
684 ------------------------------------------------------------------
685 Bra
686 [\P{Nd}]
687 Ket
688 End
689 ------------------------------------------------------------------
690 1\x{3c8}2
691 0: \x{3c8}
692
693 /[\d]/WBZ8
694 ------------------------------------------------------------------
695 Bra
696 [\p{Nd}]
697 Ket
698 End
699 ------------------------------------------------------------------
700 >\x{6f4}<
701 0: \x{6f4}
702
703 /[\S]/WBZ8
704 ------------------------------------------------------------------
705 Bra
706 [\P{Xsp}]
707 Ket
708 End
709 ------------------------------------------------------------------
710 \x{1680}\x{6f4}\x{1680}
711 0: \x{6f4}
712
713 /[\s]/WBZ8
714 ------------------------------------------------------------------
715 Bra
716 [\p{Xsp}]
717 Ket
718 End
719 ------------------------------------------------------------------
720 >\x{1680}<
721 0: \x{1680}
722
723 /[\W]/WBZ8
724 ------------------------------------------------------------------
725 Bra
726 [\P{Xwd}]
727 Ket
728 End
729 ------------------------------------------------------------------
730 A\x{1712}B
731 0: \x{1712}
732
733 /[\w]/WBZ8
734 ------------------------------------------------------------------
735 Bra
736 [\p{Xwd}]
737 Ket
738 End
739 ------------------------------------------------------------------
740 >\x{1723}<
741 0: \x{1723}
742
743 /\D/WBZ8
744 ------------------------------------------------------------------
745 Bra
746 notprop Nd
747 Ket
748 End
749 ------------------------------------------------------------------
750 1\x{3c8}2
751 0: \x{3c8}
752
753 /\d/WBZ8
754 ------------------------------------------------------------------
755 Bra
756 prop Nd
757 Ket
758 End
759 ------------------------------------------------------------------
760 >\x{6f4}<
761 0: \x{6f4}
762
763 /\S/WBZ8
764 ------------------------------------------------------------------
765 Bra
766 notprop Xsp
767 Ket
768 End
769 ------------------------------------------------------------------
770 \x{1680}\x{6f4}\x{1680}
771 0: \x{6f4}
772
773 /\s/WBZ8
774 ------------------------------------------------------------------
775 Bra
776 prop Xsp
777 Ket
778 End
779 ------------------------------------------------------------------
780 >\x{1680}>
781 0: \x{1680}
782
783 /\W/WBZ8
784 ------------------------------------------------------------------
785 Bra
786 notprop Xwd
787 Ket
788 End
789 ------------------------------------------------------------------
790 A\x{1712}B
791 0: \x{1712}
792
793 /\w/WBZ8
794 ------------------------------------------------------------------
795 Bra
796 prop Xwd
797 Ket
798 End
799 ------------------------------------------------------------------
800 >\x{1723}<
801 0: \x{1723}
802
803 /[[:alpha:]]/WBZ
804 ------------------------------------------------------------------
805 Bra
806 [\p{L}]
807 Ket
808 End
809 ------------------------------------------------------------------
810
811 /[[:lower:]]/WBZ
812 ------------------------------------------------------------------
813 Bra
814 [\p{Ll}]
815 Ket
816 End
817 ------------------------------------------------------------------
818
819 /[[:upper:]]/WBZ
820 ------------------------------------------------------------------
821 Bra
822 [\p{Lu}]
823 Ket
824 End
825 ------------------------------------------------------------------
826
827 /[[:alnum:]]/WBZ
828 ------------------------------------------------------------------
829 Bra
830 [\p{Xan}]
831 Ket
832 End
833 ------------------------------------------------------------------
834
835 /[[:ascii:]]/WBZ
836 ------------------------------------------------------------------
837 Bra
838 [\x00-\x7f]
839 Ket
840 End
841 ------------------------------------------------------------------
842
843 /[[:cntrl:]]/WBZ
844 ------------------------------------------------------------------
845 Bra
846 [\x00-\x1f\x7f]
847 Ket
848 End
849 ------------------------------------------------------------------
850
851 /[[:digit:]]/WBZ
852 ------------------------------------------------------------------
853 Bra
854 [\p{Nd}]
855 Ket
856 End
857 ------------------------------------------------------------------
858
859 /[[:graph:]]/WBZ
860 ------------------------------------------------------------------
861 Bra
862 [!-~]
863 Ket
864 End
865 ------------------------------------------------------------------
866
867 /[[:print:]]/WBZ
868 ------------------------------------------------------------------
869 Bra
870 [ -~]
871 Ket
872 End
873 ------------------------------------------------------------------
874
875 /[[:punct:]]/WBZ
876 ------------------------------------------------------------------
877 Bra
878 [!-/:-@[-`{-~]
879 Ket
880 End
881 ------------------------------------------------------------------
882
883 /[[:space:]]/WBZ
884 ------------------------------------------------------------------
885 Bra
886 [\p{Xps}]
887 Ket
888 End
889 ------------------------------------------------------------------
890
891 /[[:word:]]/WBZ
892 ------------------------------------------------------------------
893 Bra
894 [\p{Xwd}]
895 Ket
896 End
897 ------------------------------------------------------------------
898
899 /[[:xdigit:]]/WBZ
900 ------------------------------------------------------------------
901 Bra
902 [0-9A-Fa-f]
903 Ket
904 End
905 ------------------------------------------------------------------
906
907 /-- Unicode properties for \b abd \B --/
908
909 /\b...\B/8W
910 abc_
911 0: abc
912 \x{37e}abc\x{376}
913 0: abc
914 \x{37e}\x{376}\x{371}\x{393}\x{394}
915 0: \x{376}\x{371}\x{393}
916 !\x{c0}++\x{c1}\x{c2}
917 0: ++\x{c1}
918 !\x{c0}+++++
919 0: \x{c0}++
920
921 /-- Without PCRE_UCP, non-ASCII always fail, even if < 256 --/
922
923 /\b...\B/8
924 abc_
925 0: abc
926 ** Failers
927 0: Fai
928 \x{37e}abc\x{376}
929 No match
930 \x{37e}\x{376}\x{371}\x{393}\x{394}
931 No match
932 !\x{c0}++\x{c1}\x{c2}
933 No match
934 !\x{c0}+++++
935 No match
936
937 /-- With PCRE_UCP, non-UTF8 chars that are < 256 still check properties --/
938
939 /\b...\B/W
940 abc_
941 0: abc
942 !\x{c0}++\x{c1}\x{c2}
943 0: ++\xc1
944 !\x{c0}+++++
945 0: \xc0++
946
947 /-- Some of these are silly, but they check various combinations --/
948
949 /[[:^alpha:][:^cntrl:]]+/8WBZ
950 ------------------------------------------------------------------
951 Bra
952 [ -~\x80-\xff\P{L}]+
953 Ket
954 End
955 ------------------------------------------------------------------
956 123
957 0: 123
958 abc
959 0: abc
960
961 /[[:^cntrl:][:^alpha:]]+/8WBZ
962 ------------------------------------------------------------------
963 Bra
964 [ -~\x80-\xff\P{L}]+
965 Ket
966 End
967 ------------------------------------------------------------------
968 123
969 0: 123
970 abc
971 0: abc
972
973 /[[:alpha:]]+/8WBZ
974 ------------------------------------------------------------------
975 Bra
976 [\p{L}]+
977 Ket
978 End
979 ------------------------------------------------------------------
980 abc
981 0: abc
982
983 /[[:^alpha:]\S]+/8WBZ
984 ------------------------------------------------------------------
985 Bra
986 [\P{L}\P{Xsp}]+
987 Ket
988 End
989 ------------------------------------------------------------------
990 123
991 0: 123
992 abc
993 0: abc
994
995 /[^\d]+/8WBZ
996 ------------------------------------------------------------------
997 Bra
998 [^\p{Nd}]+
999 Ket
1000 End
1001 ------------------------------------------------------------------
1002 abc123
1003 0: abc
1004 abc\x{123}
1005 0: abc\x{123}
1006 \x{660}abc
1007 0: abc
1008
1009 /\p{Lu}+9\p{Lu}+B\p{Lu}+b/BZ
1010 ------------------------------------------------------------------
1011 Bra
1012 prop Lu ++
1013 9
1014 prop Lu +
1015 B
1016 prop Lu ++
1017 b
1018 Ket
1019 End
1020 ------------------------------------------------------------------
1021
1022 /\p{^Lu}+9\p{^Lu}+B\p{^Lu}+b/BZ
1023 ------------------------------------------------------------------
1024 Bra
1025 notprop Lu +
1026 9
1027 notprop Lu ++
1028 B
1029 notprop Lu +
1030 b
1031 Ket
1032 End
1033 ------------------------------------------------------------------
1034
1035 /\P{Lu}+9\P{Lu}+B\P{Lu}+b/BZ
1036 ------------------------------------------------------------------
1037 Bra
1038 notprop Lu +
1039 9
1040 notprop Lu ++
1041 B
1042 notprop Lu +
1043 b
1044 Ket
1045 End
1046 ------------------------------------------------------------------
1047
1048 /\p{Han}+X\p{Greek}+\x{370}/BZ8
1049 ------------------------------------------------------------------
1050 Bra
1051 prop Han ++
1052 X
1053 prop Greek +
1054 \x{370}
1055 Ket
1056 End
1057 ------------------------------------------------------------------
1058
1059 /\p{Xan}+!\p{Xan}+A/BZ
1060 ------------------------------------------------------------------
1061 Bra
1062 prop Xan ++
1063 !
1064 prop Xan +
1065 A
1066 Ket
1067 End
1068 ------------------------------------------------------------------
1069
1070 /\p{Xsp}+!\p{Xsp}\t/BZ
1071 ------------------------------------------------------------------
1072 Bra
1073 prop Xsp ++
1074 !
1075 prop Xsp
1076 \x09
1077 Ket
1078 End
1079 ------------------------------------------------------------------
1080
1081 /\p{Xps}+!\p{Xps}\t/BZ
1082 ------------------------------------------------------------------
1083 Bra
1084 prop Xps ++
1085 !
1086 prop Xps
1087 \x09
1088 Ket
1089 End
1090 ------------------------------------------------------------------
1091
1092 /\p{Xwd}+!\p{Xwd}_/BZ
1093 ------------------------------------------------------------------
1094 Bra
1095 prop Xwd ++
1096 !
1097 prop Xwd
1098 _
1099 Ket
1100 End
1101 ------------------------------------------------------------------
1102
1103 /A+\p{N}A+\dB+\p{N}*B+\d*/WBZ
1104 ------------------------------------------------------------------
1105 Bra
1106 A++
1107 prop N
1108 A++
1109 prop Nd
1110 B+
1111 prop N *+
1112 B+
1113 prop Nd *
1114 Ket
1115 End
1116 ------------------------------------------------------------------
1117
1118 /-- These behaved oddly in Perl, so they are kept in this test --/
1119
1120 /(\x{23a}\x{23a}\x{23a})?\1/8i
1121 \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}
1122 No match
1123
1124 /(ȺȺȺ)?\1/8i
1125 ȺȺȺⱥⱥ
1126 No match
1127
1128 /(\x{23a}\x{23a}\x{23a})?\1/8i
1129 \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
1130 0: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
1131 1: \x{23a}\x{23a}\x{23a}
1132
1133 /(ȺȺȺ)?\1/8i
1134 ȺȺȺⱥⱥⱥ
1135 0: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
1136 1: \x{23a}\x{23a}\x{23a}
1137
1138 /(\x{23a}\x{23a}\x{23a})\1/8i
1139 \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}
1140 No match
1141
1142 /(ȺȺȺ)\1/8i
1143 ȺȺȺⱥⱥ
1144 No match
1145
1146 /(\x{23a}\x{23a}\x{23a})\1/8i
1147 \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
1148 0: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
1149 1: \x{23a}\x{23a}\x{23a}
1150
1151 /(ȺȺȺ)\1/8i
1152 ȺȺȺⱥⱥⱥ
1153 0: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
1154 1: \x{23a}\x{23a}\x{23a}
1155
1156 /(\x{2c65}\x{2c65})\1/8i
1157 \x{2c65}\x{2c65}\x{23a}\x{23a}
1158 0: \x{2c65}\x{2c65}\x{23a}\x{23a}
1159 1: \x{2c65}\x{2c65}
1160
1161 /(ⱥⱥ)\1/8i
1162 ⱥⱥȺȺ
1163 0: \x{2c65}\x{2c65}\x{23a}\x{23a}
1164 1: \x{2c65}\x{2c65}
1165
1166 /(\x{23a}\x{23a}\x{23a})\1Y/8i
1167 X\x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}YZ
1168 0: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}Y
1169 1: \x{23a}\x{23a}\x{23a}
1170
1171 /(\x{2c65}\x{2c65})\1Y/8i
1172 X\x{2c65}\x{2c65}\x{23a}\x{23a}YZ
1173 0: \x{2c65}\x{2c65}\x{23a}\x{23a}Y
1174 1: \x{2c65}\x{2c65}
1175
1176 /-- --/
1177
1178 /-- These scripts weren't yet in Perl when I added Unicode 6.0.0 to PCRE --/
1179
1180 /^[\p{Batak}]/8
1181 \x{1bc0}
1182 0: \x{1bc0}
1183 \x{1bff}
1184 0: \x{1bff}
1185 ** Failers
1186 No match
1187 \x{1bf4}
1188 No match
1189
1190 /^[\p{Brahmi}]/8
1191 \x{11000}
1192 0: \x{11000}
1193 \x{1106f}
1194 0: \x{1106f}
1195 ** Failers
1196 No match
1197 \x{1104e}
1198 No match
1199
1200 /^[\p{Mandaic}]/8
1201 \x{840}
1202 0: \x{840}
1203 \x{85e}
1204 0: \x{85e}
1205 ** Failers
1206 No match
1207 \x{85c}
1208 No match
1209 \x{85d}
1210 No match
1211
1212 /-- --/
1213
1214 /(\X*)(.)/s8
1215 A\x{300}
1216 0: A
1217 1:
1218 2: A
1219
1220 /^S(\X*)e(\X*)$/8
1221 Stéréo
1222 0: Ste\x{301}re\x{301}o
1223 1: te\x{301}r
1224 2: \x{301}o
1225
1226 /^\X/8
1227 ́réo
1228 0: \x{301}
1229
1230 /^a\X41z/<JS>
1231 aX41z
1232 0: aX41z
1233 *** Failers
1234 No match
1235 aAz
1236 No match
1237
1238 /(?<=ab\Cde)X/8
1239 Failed: \C not allowed in lookbehind assertion at offset 10
1240
1241 /\X/
1242 a\P
1243 0: a
1244 a\P\P
1245 Partial match: a
1246
1247 /\Xa/
1248 aa\P
1249 0: aa
1250 aa\P\P
1251 0: aa
1252
1253 /\X{2}/
1254 aa\P
1255 0: aa
1256 aa\P\P
1257 Partial match: aa
1258
1259 /\X+a/
1260 a\P
1261 Partial match: a
1262 aa\P
1263 0: aa
1264 aa\P\P
1265 Partial match: aa
1266
1267 /\X+?a/
1268 a\P
1269 Partial match: a
1270 ab\P
1271 Partial match: ab
1272 aa\P
1273 0: aa
1274 aa\P\P
1275 0: aa
1276 aba\P
1277 0: aba
1278
1279 /-- These Unicode 6.1.0 scripts are not known to Perl. --/
1280
1281 /\p{Chakma}\d/8W
1282 \x{11100}\x{1113c}
1283 0: \x{11100}\x{1113c}
1284
1285 /\p{Takri}\d/8W
1286 \x{11680}\x{116c0}
1287 0: \x{11680}\x{116c0}
1288
1289 /^\X/8
1290 A\P
1291 0: A
1292 A\P\P
1293 Partial match: A
1294 A\x{300}\x{301}\P
1295 0: A\x{300}\x{301}
1296 A\x{300}\x{301}\P\P
1297 Partial match: A\x{300}\x{301}
1298 A\x{301}\P
1299 0: A\x{301}
1300 A\x{301}\P\P
1301 Partial match: A\x{301}
1302
1303 /^\X{2,3}/8
1304 A\P
1305 Partial match: A
1306 A\P\P
1307 Partial match: A
1308 AA\P
1309 0: AA
1310 AA\P\P
1311 Partial match: AA
1312 A\x{300}\x{301}\P
1313 Partial match: A\x{300}\x{301}
1314 A\x{300}\x{301}\P\P
1315 Partial match: A\x{300}\x{301}
1316 A\x{300}\x{301}A\x{300}\x{301}\P
1317 0: A\x{300}\x{301}A\x{300}\x{301}
1318 A\x{300}\x{301}A\x{300}\x{301}\P\P
1319 Partial match: A\x{300}\x{301}A\x{300}\x{301}
1320
1321 /^\X{2}/8
1322 AA\P
1323 0: AA
1324 AA\P\P
1325 Partial match: AA
1326 A\x{300}\x{301}A\x{300}\x{301}\P
1327 0: A\x{300}\x{301}A\x{300}\x{301}
1328 A\x{300}\x{301}A\x{300}\x{301}\P\P
1329 Partial match: A\x{300}\x{301}A\x{300}\x{301}
1330
1331 /^\X+/8
1332 AA\P
1333 0: AA
1334 AA\P\P
1335 Partial match: AA
1336
1337 /^\X+?Z/8
1338 AA\P
1339 Partial match: AA
1340 AA\P\P
1341 Partial match: AA
1342
1343 /A\x{3a3}B/8iDZ
1344 ------------------------------------------------------------------
1345 Bra
1346 /i A
1347 clist 03a3 03c2 03c3
1348 /i B
1349 Ket
1350 End
1351 ------------------------------------------------------------------
1352 Capturing subpattern count = 0
1353 Options: caseless utf
1354 First char = 'A' (caseless)
1355 Need char = 'B' (caseless)
1356
1357 /\x{3a3}B/8iDZ
1358 ------------------------------------------------------------------
1359 Bra
1360 clist 03a3 03c2 03c3
1361 /i B
1362 Ket
1363 End
1364 ------------------------------------------------------------------
1365 Capturing subpattern count = 0
1366 Options: caseless utf
1367 No first char
1368 Need char = 'B' (caseless)
1369
1370 /[\x{3a3}]/8iBZ
1371 ------------------------------------------------------------------
1372 Bra
1373 clist 03a3 03c2 03c3
1374 Ket
1375 End
1376 ------------------------------------------------------------------
1377
1378 /[^\x{3a3}]/8iBZ
1379 ------------------------------------------------------------------
1380 Bra
1381 not clist 03a3 03c2 03c3
1382 Ket
1383 End
1384 ------------------------------------------------------------------
1385
1386 /[\x{3a3}]+/8iBZ
1387 ------------------------------------------------------------------
1388 Bra
1389 clist 03a3 03c2 03c3 +
1390 Ket
1391 End
1392 ------------------------------------------------------------------
1393
1394 /[^\x{3a3}]+/8iBZ
1395 ------------------------------------------------------------------
1396 Bra
1397 not clist 03a3 03c2 03c3 +
1398 Ket
1399 End
1400 ------------------------------------------------------------------
1401
1402 /a*\x{3a3}/8iBZ
1403 ------------------------------------------------------------------
1404 Bra
1405 /i a*+
1406 clist 03a3 03c2 03c3
1407 Ket
1408 End
1409 ------------------------------------------------------------------
1410
1411 /\x{3a3}+a/8iBZ
1412 ------------------------------------------------------------------
1413 Bra
1414 clist 03a3 03c2 03c3 ++
1415 /i a
1416 Ket
1417 End
1418 ------------------------------------------------------------------
1419
1420 /\x{3a3}*\x{3c2}/8iBZ
1421 ------------------------------------------------------------------
1422 Bra
1423 clist 03a3 03c2 03c3 *
1424 clist 03a3 03c2 03c3
1425 Ket
1426 End
1427 ------------------------------------------------------------------
1428
1429 /\x{3a3}{3}/8i+
1430 \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
1431 0: \x{3a3}\x{3c3}\x{3c2}
1432 0+ \x{3a3}\x{3c3}\x{3c2}
1433
1434 /\x{3a3}{2,4}/8i+
1435 \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
1436 0: \x{3a3}\x{3c3}\x{3c2}\x{3a3}
1437 0+ \x{3c3}\x{3c2}
1438
1439 /\x{3a3}{2,4}?/8i+
1440 \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
1441 0: \x{3a3}\x{3c3}
1442 0+ \x{3c2}\x{3a3}\x{3c3}\x{3c2}
1443
1444 /\x{3a3}+./8i+
1445 \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
1446 0: \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
1447 0+
1448
1449 /\x{3a3}++./8i+
1450 ** Failers
1451 No match
1452 \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
1453 No match
1454
1455 /\x{3a3}*\x{3c2}/8iBZ
1456 ------------------------------------------------------------------
1457 Bra
1458 clist 03a3 03c2 03c3 *
1459 clist 03a3 03c2 03c3
1460 Ket
1461 End
1462 ------------------------------------------------------------------
1463
1464 /[^\x{3a3}]*\x{3c2}/8iBZ
1465 ------------------------------------------------------------------
1466 Bra
1467 not clist 03a3 03c2 03c3 *+
1468 clist 03a3 03c2 03c3
1469 Ket
1470 End
1471 ------------------------------------------------------------------
1472
1473 /[^a]*\x{3c2}/8iBZ
1474 ------------------------------------------------------------------
1475 Bra
1476 /i [^a]*
1477 clist 03a3 03c2 03c3
1478 Ket
1479 End
1480 ------------------------------------------------------------------
1481
1482 /ist/8iBZ
1483 ------------------------------------------------------------------
1484 Bra
1485 /i i
1486 clist 0053 0073 017f
1487 /i t
1488 Ket
1489 End
1490 ------------------------------------------------------------------
1491 ikt
1492 No match
1493
1494 /is+t/8i
1495 iSs\x{17f}t
1496 0: iSs\x{17f}t
1497 ikt
1498 No match
1499
1500 /is+?t/8i
1501 ikt
1502 No match
1503
1504 /is?t/8i
1505 ikt
1506 No match
1507
1508 /is{2}t/8i
1509 iskt
1510 No match
1511
1512 /-- This property is a PCRE special --/
1513
1514 /^\p{Xuc}/8
1515 $abc
1516 0: $
1517 @abc
1518 0: @
1519 `abc
1520 0: `
1521 \x{1234}abc
1522 0: \x{1234}
1523 ** Failers
1524 No match
1525 abc
1526 No match
1527
1528 /^\p{Xuc}+/8
1529 $@`\x{a0}\x{1234}\x{e000}**
1530 0: $@`\x{a0}\x{1234}\x{e000}
1531 ** Failers
1532 No match
1533 \x{9f}
1534 No match
1535
1536 /^\p{Xuc}+?/8
1537 $@`\x{a0}\x{1234}\x{e000}**
1538 0: $
1539 ** Failers
1540 No match
1541 \x{9f}
1542 No match
1543
1544 /^\p{Xuc}+?\*/8
1545 $@`\x{a0}\x{1234}\x{e000}**
1546 0: $@`\x{a0}\x{1234}\x{e000}*
1547 ** Failers
1548 No match
1549 \x{9f}
1550 No match
1551
1552 /^\p{Xuc}++/8
1553 $@`\x{a0}\x{1234}\x{e000}**
1554 0: $@`\x{a0}\x{1234}\x{e000}
1555 ** Failers
1556 No match
1557 \x{9f}
1558 No match
1559
1560 /^\p{Xuc}{3,5}/8
1561 $@`\x{a0}\x{1234}\x{e000}**
1562 0: $@`\x{a0}\x{1234}
1563 ** Failers
1564 No match
1565 \x{9f}
1566 No match
1567
1568 /^\p{Xuc}{3,5}?/8
1569 $@`\x{a0}\x{1234}\x{e000}**
1570 0: $@`
1571 ** Failers
1572 No match
1573 \x{9f}
1574 No match
1575
1576 /^[\p{Xuc}]/8
1577 $@`\x{a0}\x{1234}\x{e000}**
1578 0: $
1579 ** Failers
1580 No match
1581 \x{9f}
1582 No match
1583
1584 /^[\p{Xuc}]+/8
1585 $@`\x{a0}\x{1234}\x{e000}**
1586 0: $@`\x{a0}\x{1234}\x{e000}
1587 ** Failers
1588 No match
1589 \x{9f}
1590 No match
1591
1592 /^\P{Xuc}/8
1593 abc
1594 0: a
1595 ** Failers
1596 0: *
1597 $abc
1598 No match
1599 @abc
1600 No match
1601 `abc
1602 No match
1603 \x{1234}abc
1604 No match
1605
1606 /^[\P{Xuc}]/8
1607 abc
1608 0: a
1609 ** Failers
1610 0: *
1611 $abc
1612 No match
1613 @abc
1614 No match
1615 `abc
1616 No match
1617 \x{1234}abc
1618 No match
1619
1620 /-- End of testinput7 --/

Properties

Name Value
svn:keywords "Author Date Id Revision Url"

  ViewVC Help
Powered by ViewVC 1.1.5