Initial Import
[profile/ivi/pcre.git] / testdata / testinput5
1 /-- This set of tests checks the API, internals, and non-Perl stuff for UTF-8
2     support, excluding Unicode properties. --/
3
4 /\x{100}/8DZ
5
6 /\x{1000}/8DZ
7
8 /\x{10000}/8DZ
9
10 /\x{100000}/8DZ
11
12 /\x{1000000}/8DZ
13
14 /\x{4000000}/8DZ
15
16 /\x{7fffFFFF}/8DZ
17
18 /[\x{ff}]/8DZ
19
20 /[\x{100}]/8DZ
21
22 /\x{ffffffff}/8
23
24 /\x{100000000}/8
25
26 /^\x{100}a\x{1234}/8
27     \x{100}a\x{1234}bcd
28
29 /\x80/8DZ
30
31 /\xff/8DZ
32
33 /\x{0041}\x{2262}\x{0391}\x{002e}/DZ8
34     \x{0041}\x{2262}\x{0391}\x{002e}
35     
36 /\x{D55c}\x{ad6d}\x{C5B4}/DZ8 
37     \x{D55c}\x{ad6d}\x{C5B4} 
38
39 /\x{65e5}\x{672c}\x{8a9e}/DZ8
40     \x{65e5}\x{672c}\x{8a9e}
41
42 /\x{80}/DZ8
43
44 /\x{084}/DZ8
45
46 /\x{104}/DZ8
47
48 /\x{861}/DZ8
49
50 /\x{212ab}/DZ8
51
52 /.{3,5}X/DZ8
53     \x{212ab}\x{212ab}\x{212ab}\x{861}X
54
55
56 /.{3,5}?/DZ8
57     \x{212ab}\x{212ab}\x{212ab}\x{861}
58
59 /(?<=\C)X/8
60     Should produce an error diagnostic
61     
62 /-- This one is here not because it's different to Perl, but because the way
63 the captured single-byte is displayed. (In Perl it becomes a character, and you
64 can't tell the difference.) --/
65     
66 /X(\C)(.*)/8
67     X\x{1234}
68     X\nabc 
69
70 /-- This one is here because Perl gives out a grumbly error message (quite 
71 correctly, but that messes up comparisons). --/
72     
73 /a\Cb/8
74     *** Failers 
75     a\x{100}b 
76     
77 /^[ab]/8DZ
78     bar
79     *** Failers
80     c
81     \x{ff}
82     \x{100}  
83
84 /^[^ab]/8DZ
85     c
86     \x{ff}
87     \x{100}  
88     *** Failers 
89     aaa
90   
91 /[^ab\xC0-\xF0]/8SDZ
92     \x{f1}
93     \x{bf}
94     \x{100}
95     \x{1000}   
96     *** Failers
97     \x{c0} 
98     \x{f0} 
99
100 /Ā{3,4}/8SDZ
101   \x{100}\x{100}\x{100}\x{100\x{100}
102
103 /(\x{100}+|x)/8SDZ
104
105 /(\x{100}*a|x)/8SDZ
106
107 /(\x{100}{0,2}a|x)/8SDZ
108
109 /(\x{100}{1,2}a|x)/8SDZ
110
111 /\x{100}*(\d+|"(?1)")/8
112     1234
113     "1234" 
114     \x{100}1234
115     "\x{100}1234"  
116     \x{100}\x{100}12ab 
117     \x{100}\x{100}"12" 
118     *** Failers 
119     \x{100}\x{100}abcd
120
121 /\x{100}/8DZ
122
123 /\x{100}*/8DZ
124
125 /a\x{100}*/8DZ
126
127 /ab\x{100}*/8DZ
128
129 /a\x{100}\x{101}*/8DZ
130
131 /a\x{100}\x{101}+/8DZ
132
133 /\x{100}*A/8DZ
134     A
135
136 /\x{100}*\d(?R)/8DZ
137
138 /[^\x{c4}]/DZ
139
140 /[^\x{c4}]/8DZ
141
142 /[\x{100}]/8DZ
143     \x{100}
144     Z\x{100}
145     \x{100}Z
146     *** Failers 
147
148 /[Z\x{100}]/8DZ
149     Z\x{100}
150     \x{100}
151     \x{100}Z
152     *** Failers 
153
154 /[\x{200}-\x{100}]/8
155
156 /[Ā-Ą]/8
157     \x{100}
158     \x{104}
159     *** Failers
160     \x{105}
161     \x{ff}    
162
163 /[z-\x{100}]/8DZ
164
165 /[z\Qa-d]Ā\E]/8DZ
166     \x{100}
167     Ā 
168
169 /[\xFF]/DZ
170     >\xff<
171
172 /[\xff]/DZ8
173     >\x{ff}<
174
175 /[^\xFF]/DZ
176
177 /[^\xff]/8DZ
178
179 /[Ä-Ü]/8
180     Ö # Matches without Study
181     \x{d6}
182     
183 /[Ä-Ü]/8S
184     Ö <-- Same with Study
185     \x{d6}
186     
187 /[\x{c4}-\x{dc}]/8 
188     Ö # Matches without Study
189     \x{d6} 
190
191 /[\x{c4}-\x{dc}]/8S
192     Ö <-- Same with Study
193     \x{d6} 
194
195 /[Ã]/8
196
197 /Ã/8
198
199 /ÃÃÃxxx/8
200
201 /ÃÃÃxxx/8?DZ
202
203 /abc/8
204     Ã]
205     Ã
206     ÃÃÃ
207     ÃÃÃ\?
208     \xe1\x88 
209     \P\xe1\x88 
210     \P\P\xe1\x88 
211
212 /anything/8
213     \xc0\x80
214     \xc1\x8f 
215     \xe0\x9f\x80
216     \xf0\x8f\x80\x80 
217     \xf8\x87\x80\x80\x80  
218     \xfc\x83\x80\x80\x80\x80
219     \xfe\x80\x80\x80\x80\x80  
220     \xff\x80\x80\x80\x80\x80  
221     \xc3\x8f
222     \xe0\xaf\x80
223     \xe1\x80\x80
224     \xf0\x9f\x80\x80 
225     \xf1\x8f\x80\x80 
226     \xf8\x88\x80\x80\x80  
227     \xf9\x87\x80\x80\x80  
228     \xfc\x84\x80\x80\x80\x80
229     \xfd\x83\x80\x80\x80\x80
230     \?\xf8\x88\x80\x80\x80  
231     \?\xf9\x87\x80\x80\x80  
232     \?\xfc\x84\x80\x80\x80\x80
233     \?\xfd\x83\x80\x80\x80\x80
234
235 /\x{100}abc(xyz(?1))/8DZ
236
237 /[^\x{100}]abc(xyz(?1))/8DZ
238
239 /[ab\x{100}]abc(xyz(?1))/8DZ
240
241 /(\x{100}(b(?2)c))?/DZ8
242
243 /(\x{100}(b(?2)c)){0,2}/DZ8
244
245 /(\x{100}(b(?1)c))?/DZ8
246
247 /(\x{100}(b(?1)c)){0,2}/DZ8
248
249 /\W/8
250     A.B
251     A\x{100}B 
252   
253 /\w/8
254     \x{100}X   
255
256 /a\x{1234}b/P8
257     a\x{1234}b
258
259 /^\ሴ/8DZ
260
261 /\777/I
262
263 /\777/8I
264   \x{1ff}
265   \777 
266   
267 /\x{100}*\d/8DZ
268
269 /\x{100}*\s/8DZ
270
271 /\x{100}*\w/8DZ
272
273 /\x{100}*\D/8DZ
274
275 /\x{100}*\S/8DZ
276
277 /\x{100}*\W/8DZ
278
279 /\x{100}+\x{200}/8DZ
280
281 /\x{100}+X/8DZ
282
283 /X+\x{200}/8DZ
284
285 /()()()()()()()()()()
286  ()()()()()()()()()()
287  ()()()()()()()()()()
288  ()()()()()()()()()()
289  A (x) (?41) B/8x
290     AxxB     
291
292 /^[\x{100}\E-\Q\E\x{150}]/BZ8
293
294 /^[\QĀ\E-\QŐ\E]/BZ8
295
296 /^[\QĀ\E-\QŐ\E/BZ8
297
298 /^abc./mgx8<any>
299     abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x{0085}abc7 \x{2028}abc8 \x{2029}abc9 JUNK
300
301 /abc.$/mgx8<any>
302     abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x{0085} abc7\x{2028} abc8\x{2029} abc9
303
304 /^a\Rb/8<bsr_unicode>
305     a\nb
306     a\rb
307     a\r\nb
308     a\x0bb
309     a\x0cb
310     a\x{85}b   
311     a\x{2028}b 
312     a\x{2029}b 
313     ** Failers
314     a\n\rb    
315
316 /^a\R*b/8<bsr_unicode>
317     ab
318     a\nb
319     a\rb
320     a\r\nb
321     a\x0bb
322     a\x0c\x{2028}\x{2029}b
323     a\x{85}b   
324     a\n\rb    
325     a\n\r\x{85}\x0cb 
326
327 /^a\R+b/8<bsr_unicode>
328     a\nb
329     a\rb
330     a\r\nb
331     a\x0bb
332     a\x0c\x{2028}\x{2029}b
333     a\x{85}b   
334     a\n\rb    
335     a\n\r\x{85}\x0cb 
336     ** Failers
337     ab  
338
339 /^a\R{1,3}b/8<bsr_unicode>
340     a\nb
341     a\n\rb
342     a\n\r\x{85}b
343     a\r\n\r\nb 
344     a\r\n\r\n\r\nb 
345     a\n\r\n\rb
346     a\n\n\r\nb 
347     ** Failers
348     a\n\n\n\rb
349     a\r
350
351 /\H\h\V\v/8
352     X X\x0a
353     X\x09X\x0b
354     ** Failers
355     \x{a0} X\x0a   
356     
357 /\H*\h+\V?\v{3,4}/8 
358     \x09\x20\x{a0}X\x0a\x0b\x0c\x0d\x0a
359     \x09\x20\x{a0}\x0a\x0b\x0c\x0d\x0a
360     \x09\x20\x{a0}\x0a\x0b\x0c
361     ** Failers 
362     \x09\x20\x{a0}\x0a\x0b
363      
364 /\H\h\V\v/8
365     \x{3001}\x{3000}\x{2030}\x{2028}
366     X\x{180e}X\x{85}
367     ** Failers
368     \x{2009} X\x0a   
369     
370 /\H*\h+\V?\v{3,4}/8 
371     \x{1680}\x{180e}\x{2007}X\x{2028}\x{2029}\x0c\x0d\x0a
372     \x09\x{205f}\x{a0}\x0a\x{2029}\x0c\x{2028}\x0a
373     \x09\x20\x{202f}\x0a\x0b\x0c
374     ** Failers 
375     \x09\x{200a}\x{a0}\x{2028}\x0b
376      
377 /[\h]/8BZ
378     >\x{1680}
379
380 /[\h]{3,}/8BZ
381     >\x{1680}\x{180e}\x{2000}\x{2003}\x{200a}\x{202f}\x{205f}\x{3000}<
382
383 /[\v]/8BZ
384
385 /[\H]/8BZ
386
387 /[\V]/8BZ
388
389 /.*$/8<any>
390     \x{1ec5} 
391     
392 /-- This tests the stricter UTF-8 check according to RFC 3629. --/ 
393     
394 /X/8
395     \x{0}\x{d7ff}\x{e000}\x{10ffff}
396     \x{d800}
397     \x{d800}\?
398     \x{da00}
399     \x{da00}\?
400     \x{dfff}
401     \x{dfff}\?
402     \x{110000}    
403     \x{110000}\?    
404     \x{2000000} 
405     \x{2000000}\? 
406     \x{7fffffff} 
407     \x{7fffffff}\? 
408
409 /a\Rb/I8<bsr_anycrlf>
410     a\rb
411     a\nb
412     a\r\nb
413     ** Failers
414     a\x{85}b
415     a\x0bb     
416
417 /a\Rb/I8<bsr_unicode>
418     a\rb
419     a\nb
420     a\r\nb
421     a\x{85}b
422     a\x0bb     
423     ** Failers 
424     a\x{85}b\<bsr_anycrlf>
425     a\x0bb\<bsr_anycrlf>
426     
427 /a\R?b/I8<bsr_anycrlf>
428     a\rb
429     a\nb
430     a\r\nb
431     ** Failers
432     a\x{85}b
433     a\x0bb     
434
435 /a\R?b/I8<bsr_unicode>
436     a\rb
437     a\nb
438     a\r\nb
439     a\x{85}b
440     a\x0bb     
441     ** Failers 
442     a\x{85}b\<bsr_anycrlf>
443     a\x0bb\<bsr_anycrlf>
444  
445 /.*a.*=.b.*/8<ANY>
446     QQQ\x{2029}ABCaXYZ=!bPQR
447     ** Failers
448     a\x{2029}b
449     \x61\xe2\x80\xa9\x62 
450
451 /[[:a\x{100}b:]]/8
452
453 /a[^]b/<JS>8
454     a\x{1234}b
455     a\nb 
456     ** Failers
457     ab  
458     
459 /a[^]+b/<JS>8
460     aXb
461     a\nX\nX\x{1234}b 
462     ** Failers
463     ab  
464
465 /(\x{de})\1/
466     \x{de}\x{de}
467     \x{123} 
468
469 /X/8f<any> 
470     A\x{1ec5}ABCXYZ
471
472 /(*UTF8)\x{1234}/
473   abcd\x{1234}pqr
474
475 /(*CRLF)(*UTF8)(*BSR_UNICODE)a\Rb/I
476
477 /Xa{2,4}b/8
478     X\P
479     Xa\P
480     Xaa\P 
481     Xaaa\P
482     Xaaaa\P 
483     
484 /Xa{2,4}?b/8
485     X\P
486     Xa\P
487     Xaa\P 
488     Xaaa\P
489     Xaaaa\P 
490     
491 /Xa{2,4}+b/8
492     X\P
493     Xa\P
494     Xaa\P 
495     Xaaa\P
496     Xaaaa\P 
497     
498 /X\x{123}{2,4}b/8
499     X\P
500     X\x{123}\P
501     X\x{123}\x{123}\P 
502     X\x{123}\x{123}\x{123}\P
503     X\x{123}\x{123}\x{123}\x{123}\P 
504     
505 /X\x{123}{2,4}?b/8
506     X\P
507     X\x{123}\P
508     X\x{123}\x{123}\P 
509     X\x{123}\x{123}\x{123}\P
510     X\x{123}\x{123}\x{123}\x{123}\P 
511     
512 /X\x{123}{2,4}+b/8
513     X\P
514     X\x{123}\P
515     X\x{123}\x{123}\P 
516     X\x{123}\x{123}\x{123}\P
517     X\x{123}\x{123}\x{123}\x{123}\P 
518     
519 /X\x{123}{2,4}b/8
520     Xx\P
521     X\x{123}x\P
522     X\x{123}\x{123}x\P 
523     X\x{123}\x{123}\x{123}x\P
524     X\x{123}\x{123}\x{123}\x{123}x\P 
525     
526 /X\x{123}{2,4}?b/8
527     Xx\P
528     X\x{123}x\P
529     X\x{123}\x{123}x\P 
530     X\x{123}\x{123}\x{123}x\P
531     X\x{123}\x{123}\x{123}\x{123}x\P 
532     
533 /X\x{123}{2,4}+b/8
534     Xx\P
535     X\x{123}x\P
536     X\x{123}\x{123}x\P 
537     X\x{123}\x{123}\x{123}x\P
538     X\x{123}\x{123}\x{123}\x{123}x\P 
539     
540 /X\d{2,4}b/8
541     X\P
542     X3\P
543     X33\P 
544     X333\P
545     X3333\P 
546     
547 /X\d{2,4}?b/8
548     X\P
549     X3\P
550     X33\P 
551     X333\P
552     X3333\P 
553     
554 /X\d{2,4}+b/8
555     X\P
556     X3\P
557     X33\P 
558     X333\P
559     X3333\P 
560
561 /X\D{2,4}b/8
562     X\P
563     Xa\P
564     Xaa\P 
565     Xaaa\P
566     Xaaaa\P 
567     
568 /X\D{2,4}?b/8
569     X\P
570     Xa\P
571     Xaa\P 
572     Xaaa\P
573     Xaaaa\P 
574     
575 /X\D{2,4}+b/8
576     X\P
577     Xa\P
578     Xaa\P 
579     Xaaa\P
580     Xaaaa\P 
581
582 /X\D{2,4}b/8
583     X\P
584     X\x{123}\P
585     X\x{123}\x{123}\P 
586     X\x{123}\x{123}\x{123}\P
587     X\x{123}\x{123}\x{123}\x{123}\P 
588     
589 /X\D{2,4}?b/8
590     X\P
591     X\x{123}\P
592     X\x{123}\x{123}\P 
593     X\x{123}\x{123}\x{123}\P
594     X\x{123}\x{123}\x{123}\x{123}\P 
595     
596 /X\D{2,4}+b/8
597     X\P
598     X\x{123}\P
599     X\x{123}\x{123}\P 
600     X\x{123}\x{123}\x{123}\P
601     X\x{123}\x{123}\x{123}\x{123}\P 
602
603 /X[abc]{2,4}b/8
604     X\P
605     Xa\P
606     Xaa\P 
607     Xaaa\P
608     Xaaaa\P 
609     
610 /X[abc]{2,4}?b/8
611     X\P
612     Xa\P
613     Xaa\P 
614     Xaaa\P
615     Xaaaa\P 
616     
617 /X[abc]{2,4}+b/8
618     X\P
619     Xa\P
620     Xaa\P 
621     Xaaa\P
622     Xaaaa\P 
623
624 /X[abc\x{123}]{2,4}b/8
625     X\P
626     X\x{123}\P
627     X\x{123}\x{123}\P 
628     X\x{123}\x{123}\x{123}\P
629     X\x{123}\x{123}\x{123}\x{123}\P 
630     
631 /X[abc\x{123}]{2,4}?b/8
632     X\P
633     X\x{123}\P
634     X\x{123}\x{123}\P 
635     X\x{123}\x{123}\x{123}\P
636     X\x{123}\x{123}\x{123}\x{123}\P 
637     
638 /X[abc\x{123}]{2,4}+b/8
639     X\P
640     X\x{123}\P
641     X\x{123}\x{123}\P 
642     X\x{123}\x{123}\x{123}\P
643     X\x{123}\x{123}\x{123}\x{123}\P 
644
645 /X[^a]{2,4}b/8
646     X\P
647     Xz\P
648     Xzz\P 
649     Xzzz\P
650     Xzzzz\P 
651     
652 /X[^a]{2,4}?b/8
653     X\P
654     Xz\P
655     Xzz\P 
656     Xzzz\P
657     Xzzzz\P 
658     
659 /X[^a]{2,4}+b/8
660     X\P
661     Xz\P
662     Xzz\P 
663     Xzzz\P
664     Xzzzz\P 
665
666 /X[^a]{2,4}b/8
667     X\P
668     X\x{123}\P
669     X\x{123}\x{123}\P 
670     X\x{123}\x{123}\x{123}\P
671     X\x{123}\x{123}\x{123}\x{123}\P 
672     
673 /X[^a]{2,4}?b/8
674     X\P
675     X\x{123}\P
676     X\x{123}\x{123}\P 
677     X\x{123}\x{123}\x{123}\P
678     X\x{123}\x{123}\x{123}\x{123}\P 
679     
680 /X[^a]{2,4}+b/8
681     X\P
682     X\x{123}\P
683     X\x{123}\x{123}\P 
684     X\x{123}\x{123}\x{123}\P
685     X\x{123}\x{123}\x{123}\x{123}\P 
686
687 /(Y)X\1{2,4}b/8
688     YX\P
689     YXY\P
690     YXYY\P 
691     YXYYY\P
692     YXYYYY\P 
693     
694 /(Y)X\1{2,4}?b/8
695     YX\P
696     YXY\P
697     YXYY\P 
698     YXYYY\P
699     YXYYYY\P 
700     
701 /(Y)X\1{2,4}+b/8
702     YX\P
703     YXY\P
704     YXYY\P 
705     YXYYY\P
706     YXYYYY\P 
707
708 /(\x{123})X\1{2,4}b/8
709     \x{123}X\P
710     \x{123}X\x{123}\P
711     \x{123}X\x{123}\x{123}\P 
712     \x{123}X\x{123}\x{123}\x{123}\P
713     \x{123}X\x{123}\x{123}\x{123}\x{123}\P 
714     
715 /(\x{123})X\1{2,4}?b/8
716     \x{123}X\P
717     \x{123}X\x{123}\P
718     \x{123}X\x{123}\x{123}\P 
719     \x{123}X\x{123}\x{123}\x{123}\P
720     \x{123}X\x{123}\x{123}\x{123}\x{123}\P 
721     
722 /(\x{123})X\1{2,4}+b/8
723     \x{123}X\P
724     \x{123}X\x{123}\P
725     \x{123}X\x{123}\x{123}\P 
726     \x{123}X\x{123}\x{123}\x{123}\P
727     \x{123}X\x{123}\x{123}\x{123}\x{123}\P 
728
729 /\bthe cat\b/8
730     the cat\P
731     the cat\P\P
732
733 /abcd*/8
734     xxxxabcd\P
735     xxxxabcd\P\P
736
737 /abcd*/i8
738     xxxxabcd\P
739     xxxxabcd\P\P
740     XXXXABCD\P
741     XXXXABCD\P\P
742
743 /abc\d*/8
744     xxxxabc1\P
745     xxxxabc1\P\P
746
747 /(a)bc\1*/8
748     xxxxabca\P
749     xxxxabca\P\P
750
751 /abc[de]*/8
752     xxxxabcde\P
753     xxxxabcde\P\P
754
755 /X\W{3}X/8
756     \PX
757
758 /\h/SI
759
760 /\h/SI8
761     ABC\x{09}
762     ABC\x{20}
763     ABC\x{a0}
764     ABC\x{1680}
765     ABC\x{180e}
766     ABC\x{2000}
767     ABC\x{202f} 
768     ABC\x{205f} 
769     ABC\x{3000} 
770
771 /\v/SI
772
773 /\v/SI8
774     ABC\x{0a}
775     ABC\x{0b}
776     ABC\x{0c}
777     ABC\x{0d}
778     ABC\x{85}
779     ABC\x{2028}
780
781 /\R/SI
782
783 /\R/SI8
784
785 /\h*A/SI8
786     CDBABC
787     
788 /\v+A/SI8
789
790 /\s?xxx\s/8SI
791
792 /\sxxx\s/8T1
793     AB\x{85}xxx\x{a0}XYZ
794     AB\x{a0}xxx\x{85}XYZ
795
796 /\sxxx\s/I8ST1
797     AB\x{85}xxx\x{a0}XYZ
798     AB\x{a0}xxx\x{85}XYZ
799
800 /\S \S/8T1
801     \x{a2} \x{84} 
802
803 /\S \S/I8ST1
804     \x{a2} \x{84} 
805     A Z 
806
807 'A#хц'8x<any>BZ
808
809 'A#хц
810   PQ'8x<any>BZ
811   
812 /a+#хaa
813   z#XX?/8x<any>BZ 
814
815 /a+#хaa
816   z#х?/8x<any>BZ 
817
818 /\g{A}xxx#bXX(?'A'123)\r(?'A'456)/8x<any>BZ
819
820 /\g{A}xxx#bх(?'A'123)\r(?'A'456)/8x<any>BZ
821
822 /a+/8
823     a\x{123}aa\>1
824     a\x{123}aa\>2
825     a\x{123}aa\>3
826     a\x{123}aa\>4
827     a\x{123}aa\>5
828     a\x{123}aa\>6
829
830 /^\cģ/8
831
832 /-- End of testinput5 --/