Annotation of embedaddon/pcre/testdata/testinput5, revision 1.1.1.4
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.1.4 ! misho 4:
! 5: < forbid W
1.1 misho 6:
1.1.1.2 misho 7: /\x{110000}/8DZ
1.1 misho 8:
1.1.1.4 ! misho 9: /\o{4200000}/8DZ
! 10:
1.1.1.2 misho 11: /\x{ffffffff}/8
1.1 misho 12:
1.1.1.4 ! misho 13: /\o{37777777777}/8
! 14:
1.1.1.2 misho 15: /\x{100000000}/8
1.1 misho 16:
1.1.1.4 ! misho 17: /\o{77777777777}/8
! 18:
1.1.1.2 misho 19: /\x{d800}/8
1.1 misho 20:
1.1.1.4 ! misho 21: /\o{154000}/8
! 22:
1.1.1.2 misho 23: /\x{dfff}/8
1.1 misho 24:
1.1.1.4 ! misho 25: /\o{157777}/8
! 26:
1.1.1.2 misho 27: /\x{d7ff}/8
1.1 misho 28:
1.1.1.4 ! misho 29: /\o{153777}/8
! 30:
1.1.1.2 misho 31: /\x{e000}/8
1.1 misho 32:
1.1.1.4 ! misho 33: /\o{170000}/8
! 34:
1.1 misho 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)
(?'A'456)/8x<any>BZ
627:
628: /\g{A}xxx#bх(?'A'123)
(?'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
1.1.1.2 misho 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
1.1 misho 709:
1.1.1.3 misho 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:
1.1.1.4 ! misho 788: /^a+[a\x{200}]/8BZ
! 789: aa
! 790:
1.1 misho 791: /-- End of testinput5 --/
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>