Annotation of embedaddon/php/ext/pcre/pcrelib/testdata/testinput8, revision 1.1.1.1
1.1 misho 1: /-- This set of tests checks UTF-8 support with the DFA matching functionality
2: of pcre_dfa_exec(). The -dfa flag must be used with pcretest when running
3: it. --/
4:
5: /\x{100}ab/8
6: \x{100}ab
7:
8: /a\x{100}*b/8
9: ab
10: a\x{100}b
11: a\x{100}\x{100}b
12:
13: /a\x{100}+b/8
14: a\x{100}b
15: a\x{100}\x{100}b
16: *** Failers
17: ab
18:
19: /\bX/8
20: Xoanon
21: +Xoanon
22: \x{300}Xoanon
23: *** Failers
24: YXoanon
25:
26: /\BX/8
27: YXoanon
28: *** Failers
29: Xoanon
30: +Xoanon
31: \x{300}Xoanon
32:
33: /X\b/8
34: X+oanon
35: ZX\x{300}oanon
36: FAX
37: *** Failers
38: Xoanon
39:
40: /X\B/8
41: Xoanon
42: *** Failers
43: X+oanon
44: ZX\x{300}oanon
45: FAX
46:
47: /[^a]/8
48: abcd
49: a\x{100}
50:
51: /^[abc\x{123}\x{400}-\x{402}]{2,3}\d/8
52: ab99
53: \x{123}\x{123}45
54: \x{400}\x{401}\x{402}6
55: *** Failers
56: d99
57: \x{123}\x{122}4
58: \x{400}\x{403}6
59: \x{400}\x{401}\x{402}\x{402}6
60:
61: /abc/8
62: ร]
63: ร
64: รรร
65: รรร\?
66: \xe1\x88
67: \P\xe1\x88
68: \P\P\xe1\x88
69:
70: /a.b/8
71: acb
72: a\x7fb
73: a\x{100}b
74: *** Failers
75: a\nb
76:
77: /a(.{3})b/8
78: a\x{4000}xyb
79: a\x{4000}\x7fyb
80: a\x{4000}\x{100}yb
81: *** Failers
82: a\x{4000}b
83: ac\ncb
84:
85: /a(.*?)(.)/
86: a\xc0\x88b
87:
88: /a(.*?)(.)/8
89: a\x{100}b
90:
91: /a(.*)(.)/
92: a\xc0\x88b
93:
94: /a(.*)(.)/8
95: a\x{100}b
96:
97: /a(.)(.)/
98: a\xc0\x92bcd
99:
100: /a(.)(.)/8
101: a\x{240}bcd
102:
103: /a(.?)(.)/
104: a\xc0\x92bcd
105:
106: /a(.?)(.)/8
107: a\x{240}bcd
108:
109: /a(.??)(.)/
110: a\xc0\x92bcd
111:
112: /a(.??)(.)/8
113: a\x{240}bcd
114:
115: /a(.{3})b/8
116: a\x{1234}xyb
117: a\x{1234}\x{4321}yb
118: a\x{1234}\x{4321}\x{3412}b
119: *** Failers
120: a\x{1234}b
121: ac\ncb
122:
123: /a(.{3,})b/8
124: a\x{1234}xyb
125: a\x{1234}\x{4321}yb
126: a\x{1234}\x{4321}\x{3412}b
127: axxxxbcdefghijb
128: a\x{1234}\x{4321}\x{3412}\x{3421}b
129: *** Failers
130: a\x{1234}b
131:
132: /a(.{3,}?)b/8
133: a\x{1234}xyb
134: a\x{1234}\x{4321}yb
135: a\x{1234}\x{4321}\x{3412}b
136: axxxxbcdefghijb
137: a\x{1234}\x{4321}\x{3412}\x{3421}b
138: *** Failers
139: a\x{1234}b
140:
141: /a(.{3,5})b/8
142: a\x{1234}xyb
143: a\x{1234}\x{4321}yb
144: a\x{1234}\x{4321}\x{3412}b
145: axxxxbcdefghijb
146: a\x{1234}\x{4321}\x{3412}\x{3421}b
147: axbxxbcdefghijb
148: axxxxxbcdefghijb
149: *** Failers
150: a\x{1234}b
151: axxxxxxbcdefghijb
152:
153: /a(.{3,5}?)b/8
154: a\x{1234}xyb
155: a\x{1234}\x{4321}yb
156: a\x{1234}\x{4321}\x{3412}b
157: axxxxbcdefghijb
158: a\x{1234}\x{4321}\x{3412}\x{3421}b
159: axbxxbcdefghijb
160: axxxxxbcdefghijb
161: *** Failers
162: a\x{1234}b
163: axxxxxxbcdefghijb
164:
165: /^[a\x{c0}]/8
166: *** Failers
167: \x{100}
168:
169: /(?<=aXb)cd/8
170: aXbcd
171:
172: /(?<=a\x{100}b)cd/8
173: a\x{100}bcd
174:
175: /(?<=a\x{100000}b)cd/8
176: a\x{100000}bcd
177:
178: /(?:\x{100}){3}b/8
179: \x{100}\x{100}\x{100}b
180: *** Failers
181: \x{100}\x{100}b
182:
183: /\x{ab}/8
184: \x{ab}
185: \xc2\xab
186: *** Failers
187: \x00{ab}
188:
189: /(?<=(.))X/8
190: WXYZ
191: \x{256}XYZ
192: *** Failers
193: XYZ
194:
195: /[^a]+/8g
196: bcd
197: \x{100}aY\x{256}Z
198:
199: /^[^a]{2}/8
200: \x{100}bc
201:
202: /^[^a]{2,}/8
203: \x{100}bcAa
204:
205: /^[^a]{2,}?/8
206: \x{100}bca
207:
208: /[^a]+/8ig
209: bcd
210: \x{100}aY\x{256}Z
211:
212: /^[^a]{2}/8i
213: \x{100}bc
214:
215: /^[^a]{2,}/8i
216: \x{100}bcAa
217:
218: /^[^a]{2,}?/8i
219: \x{100}bca
220:
221: /\x{100}{0,0}/8
222: abcd
223:
224: /\x{100}?/8
225: abcd
226: \x{100}\x{100}
227:
228: /\x{100}{0,3}/8
229: \x{100}\x{100}
230: \x{100}\x{100}\x{100}\x{100}
231:
232: /\x{100}*/8
233: abce
234: \x{100}\x{100}\x{100}\x{100}
235:
236: /\x{100}{1,1}/8
237: abcd\x{100}\x{100}\x{100}\x{100}
238:
239: /\x{100}{1,3}/8
240: abcd\x{100}\x{100}\x{100}\x{100}
241:
242: /\x{100}+/8
243: abcd\x{100}\x{100}\x{100}\x{100}
244:
245: /\x{100}{3}/8
246: abcd\x{100}\x{100}\x{100}XX
247:
248: /\x{100}{3,5}/8
249: abcd\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}XX
250:
251: /\x{100}{3,}/8
252: abcd\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}XX
253:
254: /(?<=a\x{100}{2}b)X/8
255: Xyyya\x{100}\x{100}bXzzz
256:
257: /\D*/8
258: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
259:
260: /\D*/8
261: \x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}
262:
263: /\D/8
264: 1X2
265: 1\x{100}2
266:
267: />\S/8
268: > >X Y
269: > >\x{100} Y
270:
271: /\d/8
272: \x{100}3
273:
274: /\s/8
275: \x{100} X
276:
277: /\D+/8
278: 12abcd34
279: *** Failers
280: 1234
281:
282: /\D{2,3}/8
283: 12abcd34
284: 12ab34
285: *** Failers
286: 1234
287: 12a34
288:
289: /\D{2,3}?/8
290: 12abcd34
291: 12ab34
292: *** Failers
293: 1234
294: 12a34
295:
296: /\d+/8
297: 12abcd34
298: *** Failers
299:
300: /\d{2,3}/8
301: 12abcd34
302: 1234abcd
303: *** Failers
304: 1.4
305:
306: /\d{2,3}?/8
307: 12abcd34
308: 1234abcd
309: *** Failers
310: 1.4
311:
312: /\S+/8
313: 12abcd34
314: *** Failers
315: \ \
316:
317: /\S{2,3}/8
318: 12abcd34
319: 1234abcd
320: *** Failers
321: \ \
322:
323: /\S{2,3}?/8
324: 12abcd34
325: 1234abcd
326: *** Failers
327: \ \
328:
329: />\s+</8
330: 12> <34
331: *** Failers
332:
333: />\s{2,3}</8
334: ab> <cd
335: ab> <ce
336: *** Failers
337: ab> <cd
338:
339: />\s{2,3}?</8
340: ab> <cd
341: ab> <ce
342: *** Failers
343: ab> <cd
344:
345: /\w+/8
346: 12 34
347: *** Failers
348: +++=*!
349:
350: /\w{2,3}/8
351: ab cd
352: abcd ce
353: *** Failers
354: a.b.c
355:
356: /\w{2,3}?/8
357: ab cd
358: abcd ce
359: *** Failers
360: a.b.c
361:
362: /\W+/8
363: 12====34
364: *** Failers
365: abcd
366:
367: /\W{2,3}/8
368: ab====cd
369: ab==cd
370: *** Failers
371: a.b.c
372:
373: /\W{2,3}?/8
374: ab====cd
375: ab==cd
376: *** Failers
377: a.b.c
378:
379: /[\x{100}]/8
380: \x{100}
381: Z\x{100}
382: \x{100}Z
383: *** Failers
384:
385: /[Z\x{100}]/8
386: Z\x{100}
387: \x{100}
388: \x{100}Z
389: *** Failers
390:
391: /[\x{100}\x{200}]/8
392: ab\x{100}cd
393: ab\x{200}cd
394: *** Failers
395:
396: /[\x{100}-\x{200}]/8
397: ab\x{100}cd
398: ab\x{200}cd
399: ab\x{111}cd
400: *** Failers
401:
402: /[z-\x{200}]/8
403: ab\x{100}cd
404: ab\x{200}cd
405: ab\x{111}cd
406: abzcd
407: ab|cd
408: *** Failers
409:
410: /[Q\x{100}\x{200}]/8
411: ab\x{100}cd
412: ab\x{200}cd
413: Q?
414: *** Failers
415:
416: /[Q\x{100}-\x{200}]/8
417: ab\x{100}cd
418: ab\x{200}cd
419: ab\x{111}cd
420: Q?
421: *** Failers
422:
423: /[Qz-\x{200}]/8
424: ab\x{100}cd
425: ab\x{200}cd
426: ab\x{111}cd
427: abzcd
428: ab|cd
429: Q?
430: *** Failers
431:
432: /[\x{100}\x{200}]{1,3}/8
433: ab\x{100}cd
434: ab\x{200}cd
435: ab\x{200}\x{100}\x{200}\x{100}cd
436: *** Failers
437:
438: /[\x{100}\x{200}]{1,3}?/8
439: ab\x{100}cd
440: ab\x{200}cd
441: ab\x{200}\x{100}\x{200}\x{100}cd
442: *** Failers
443:
444: /[Q\x{100}\x{200}]{1,3}/8
445: ab\x{100}cd
446: ab\x{200}cd
447: ab\x{200}\x{100}\x{200}\x{100}cd
448: *** Failers
449:
450: /[Q\x{100}\x{200}]{1,3}?/8
451: ab\x{100}cd
452: ab\x{200}cd
453: ab\x{200}\x{100}\x{200}\x{100}cd
454: *** Failers
455:
456: /(?<=[\x{100}\x{200}])X/8
457: abc\x{200}X
458: abc\x{100}X
459: *** Failers
460: X
461:
462: /(?<=[Q\x{100}\x{200}])X/8
463: abc\x{200}X
464: abc\x{100}X
465: abQX
466: *** Failers
467: X
468:
469: /(?<=[\x{100}\x{200}]{3})X/8
470: abc\x{100}\x{200}\x{100}X
471: *** Failers
472: abc\x{200}X
473: X
474:
475: /[^\x{100}\x{200}]X/8
476: AX
477: \x{150}X
478: \x{500}X
479: *** Failers
480: \x{100}X
481: \x{200}X
482:
483: /[^Q\x{100}\x{200}]X/8
484: AX
485: \x{150}X
486: \x{500}X
487: *** Failers
488: \x{100}X
489: \x{200}X
490: QX
491:
492: /[^\x{100}-\x{200}]X/8
493: AX
494: \x{500}X
495: *** Failers
496: \x{100}X
497: \x{150}X
498: \x{200}X
499:
500: /[z-\x{100}]/8i
501: z
502: Z
503: \x{100}
504: *** Failers
505: \x{102}
506: y
507:
508: /[\xFF]/
509: >\xff<
510:
511: /[\xff]/8
512: >\x{ff}<
513:
514: /[^\xFF]/
515: XYZ
516:
517: /[^\xff]/8
518: XYZ
519: \x{123}
520:
521: /^[ac]*b/8
522: xb
523:
524: /^[ac\x{100}]*b/8
525: xb
526:
527: /^[^x]*b/8i
528: xb
529:
530: /^[^x]*b/8
531: xb
532:
533: /^\d*b/8
534: xb
535:
536: /(|a)/g8
537: catac
538: a\x{256}a
539:
540: /^\x{85}$/8i
541: \x{85}
542:
543: /^abc./mgx8<any>
544: abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x{0085}abc7 \x{2028}abc8 \x{2029}abc9 JUNK
545:
546: /abc.$/mgx8<any>
547: abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x{0085} abc7\x{2028} abc8\x{2029} abc9
548:
549: /^a\Rb/8<bsr_unicode>
550: a\nb
551: a\rb
552: a\r\nb
553: a\x0bb
554: a\x0cb
555: a\x{85}b
556: a\x{2028}b
557: a\x{2029}b
558: ** Failers
559: a\n\rb
560:
561: /^a\R*b/8<bsr_unicode>
562: ab
563: a\nb
564: a\rb
565: a\r\nb
566: a\x0bb
567: a\x0c\x{2028}\x{2029}b
568: a\x{85}b
569: a\n\rb
570: a\n\r\x{85}\x0cb
571:
572: /^a\R+b/8<bsr_unicode>
573: a\nb
574: a\rb
575: a\r\nb
576: a\x0bb
577: a\x0c\x{2028}\x{2029}b
578: a\x{85}b
579: a\n\rb
580: a\n\r\x{85}\x0cb
581: ** Failers
582: ab
583:
584: /^a\R{1,3}b/8<bsr_unicode>
585: a\nb
586: a\n\rb
587: a\n\r\x{85}b
588: a\r\n\r\nb
589: a\r\n\r\n\r\nb
590: a\n\r\n\rb
591: a\n\n\r\nb
592: ** Failers
593: a\n\n\n\rb
594: a\r
595:
596: /\h+\V?\v{3,4}/8
597: \x09\x20\x{a0}X\x0a\x0b\x0c\x0d\x0a
598:
599: /\V?\v{3,4}/8
600: \x20\x{a0}X\x0a\x0b\x0c\x0d\x0a
601:
602: /\h+\V?\v{3,4}/8
603: >\x09\x20\x{a0}X\x0a\x0a\x0a<
604:
605: /\V?\v{3,4}/8
606: >\x09\x20\x{a0}X\x0a\x0a\x0a<
607:
608: /\H\h\V\v/8
609: X X\x0a
610: X\x09X\x0b
611: ** Failers
612: \x{a0} X\x0a
613:
614: /\H*\h+\V?\v{3,4}/8
615: \x09\x20\x{a0}X\x0a\x0b\x0c\x0d\x0a
616: \x09\x20\x{a0}\x0a\x0b\x0c\x0d\x0a
617: \x09\x20\x{a0}\x0a\x0b\x0c
618: ** Failers
619: \x09\x20\x{a0}\x0a\x0b
620:
621: /\H\h\V\v/8
622: \x{3001}\x{3000}\x{2030}\x{2028}
623: X\x{180e}X\x{85}
624: ** Failers
625: \x{2009} X\x0a
626:
627: /\H*\h+\V?\v{3,4}/8
628: \x{1680}\x{180e}\x{2007}X\x{2028}\x{2029}\x0c\x0d\x0a
629: \x09\x{205f}\x{a0}\x0a\x{2029}\x0c\x{2028}\x0a
630: \x09\x20\x{202f}\x0a\x0b\x0c
631: ** Failers
632: \x09\x{200a}\x{a0}\x{2028}\x0b
633:
634: /a\Rb/I8<bsr_anycrlf>
635: a\rb
636: a\nb
637: a\r\nb
638: ** Failers
639: a\x{85}b
640: a\x0bb
641:
642: /a\Rb/I8<bsr_unicode>
643: a\rb
644: a\nb
645: a\r\nb
646: a\x{85}b
647: a\x0bb
648: ** Failers
649: a\x{85}b\<bsr_anycrlf>
650: a\x0bb\<bsr_anycrlf>
651:
652: /a\R?b/I8<bsr_anycrlf>
653: a\rb
654: a\nb
655: a\r\nb
656: ** Failers
657: a\x{85}b
658: a\x0bb
659:
660: /a\R?b/I8<bsr_unicode>
661: a\rb
662: a\nb
663: a\r\nb
664: a\x{85}b
665: a\x0bb
666: ** Failers
667: a\x{85}b\<bsr_anycrlf>
668: a\x0bb\<bsr_anycrlf>
669:
670: /X/8f<any>
671: A\x{1ec5}ABCXYZ
672:
673: /abcd*/8
674: xxxxabcd\P
675: xxxxabcd\P\P
676:
677: /abcd*/i8
678: xxxxabcd\P
679: xxxxabcd\P\P
680: XXXXABCD\P
681: XXXXABCD\P\P
682:
683: /abc\d*/8
684: xxxxabc1\P
685: xxxxabc1\P\P
686:
687: /abc[de]*/8
688: xxxxabcde\P
689: xxxxabcde\P\P
690:
691: /\bthe cat\b/8
692: the cat\P
693: the cat\P\P
694:
695: /a+/8
696: a\x{123}aa\>1
697: a\x{123}aa\>2
698: a\x{123}aa\>3
699: a\x{123}aa\>4
700: a\x{123}aa\>5
701: a\x{123}aa\>6
702:
703: /-- End of testinput8 --/
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>