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

Contents of /code/trunk/testdata/testoutput7

Parent Directory Parent Directory | Revision Log Revision Log


Revision 942 - (hide annotations) (download)
Tue Feb 28 14:50:31 2012 UTC (2 years, 8 months ago) by ph10
File size: 24252 byte(s)
Update for Unicode 6.1.0.

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

Properties

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

webmaster@exim.org
ViewVC Help
Powered by ViewVC 1.1.12