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

Contents of /code/trunk/testdata/testoutput12

Parent Directory Parent Directory | Revision Log Revision Log


Revision 520 - (hide annotations) (download)
Sat May 22 18:54:05 2010 UTC (3 years ago) by ph10
File size: 21524 byte(s)
Fix caseless bug with pcre_study() for starting letter greater than 127.

1 ph10 450 /-- 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 ph10 448 /[\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 ph10 451 /-- These four are here rather than in test 6 because Perl has problems with
362     the negative versions of the properties. --/
363    
364 ph10 448 /\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 ph10 450 /-- 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 ph10 448
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 ph10 450 /-- The next two should be Perl-compatible, but it fails to match \x{e0}. PCRE
457 ph10 448 will match it only with UCP support, because without that it has no notion
458 ph10 450 of case for anything other than the ASCII letters. --/
459 ph10 448
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 ph10 507
474     /-- This should be Perl-compatible but Perl 5.11 gets \x{300} wrong. --/8
475 ph10 448
476 ph10 507 /^\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 ph10 517
488     /-- These are PCRE's extra properties to help with Unicodizing \d etc. --/
489 ph10 507
490 ph10 517 /^\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 ph10 518 /[\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 ph10 520 /\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 ph10 450 /-- End of testinput12 --/

webmaster@exim.org
ViewVC Help
Powered by ViewVC 1.1.12