Annotation of embedaddon/pcre/testdata/testinput5, revision 1.1.1.3
1.1.1.2 misho 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). --/
1.1 misho 4:
1.1.1.2 misho 5: /\x{110000}/8DZ
1.1 misho 6:
1.1.1.2 misho 7: /\x{ffffffff}/8
1.1 misho 8:
1.1.1.2 misho 9: /\x{100000000}/8
1.1 misho 10:
1.1.1.2 misho 11: /\x{d800}/8
1.1 misho 12:
1.1.1.2 misho 13: /\x{dfff}/8
1.1 misho 14:
1.1.1.2 misho 15: /\x{d7ff}/8
1.1 misho 16:
1.1.1.2 misho 17: /\x{e000}/8
1.1 misho 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)
(?'A'456)/8x<any>BZ
611:
612: /\g{A}xxx#bх(?'A'123)
(?'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
1.1.1.2 misho 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
1.1 misho 693:
1.1.1.3 ! misho 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:
1.1 misho 772: /-- End of testinput5 --/
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>