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