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