Annotation of embedaddon/pcre/testdata/testoutput18-16, revision 1.1.1.2
1.1.1.2 ! misho 1: /-- This set of tests is for UTF-16 and UTF-32 support, and is relevant only to
! 2: the 16- and 32-bit libraries. --/
! 3:
! 4: < forbid W
1.1 misho 5:
6: /xxx/8?DZSS
7: **Failed: invalid UTF-8 string cannot be converted to UTF-16
8:
9: /abc/8
10: ]
11: **Failed: invalid UTF-8 string cannot be used as input in UTF mode
12:
13: /X(\C{3})/8
14: X\x{11234}Y
15: 0: X\x{11234}Y
16: 1: \x{11234}Y
17: X\x{11234}YZ
18: 0: X\x{11234}Y
19: 1: \x{11234}Y
20:
21: /X(\C{4})/8
22: X\x{11234}YZ
23: 0: X\x{11234}YZ
24: 1: \x{11234}YZ
25: X\x{11234}YZW
26: 0: X\x{11234}YZ
27: 1: \x{11234}YZ
28:
29: /X\C*/8
30: XYZabcdce
31: 0: XYZabcdce
32:
33: /X\C*?/8
34: XYZabcde
35: 0: X
36:
37: /X\C{3,5}/8
38: Xabcdefg
39: 0: Xabcde
40: X\x{11234}Y
41: 0: X\x{11234}Y
42: X\x{11234}YZ
43: 0: X\x{11234}YZ
44: X\x{11234}\x{512}
45: 0: X\x{11234}\x{512}
46: X\x{11234}\x{512}YZ
47: 0: X\x{11234}\x{512}YZ
48: X\x{11234}\x{512}\x{11234}Z
49: 0: X\x{11234}\x{512}\x{11234}
50:
51: /X\C{3,5}?/8
52: Xabcdefg
53: 0: Xabc
54: X\x{11234}Y
55: 0: X\x{11234}Y
56: X\x{11234}YZ
57: 0: X\x{11234}Y
58: X\x{11234}\x{512}YZ
59: 0: X\x{11234}\x{512}
60: *** Failers
61: No match
62: X\x{11234}
63: No match
64:
65: /a\Cb/8
66: aXb
67: 0: aXb
68: a\nb
69: 0: a\x{0a}b
70:
71: /a\C\Cb/8
72: a\x{12257}b
73: 0: a\x{12257}b
74: a\x{12257}\x{11234}b
75: No match
76: ** Failers
77: No match
78: a\x{100}b
79: No match
80:
81: /ab\Cde/8
82: abXde
83: 0: abXde
84:
85: /-- Check maximum character size --/
86:
87: /\x{ffff}/8DZ
88: ------------------------------------------------------------------
89: Bra
90: \x{ffff}
91: Ket
92: End
93: ------------------------------------------------------------------
94: Capturing subpattern count = 0
95: Options: utf
96: First char = \x{ffff}
97: No need char
98:
99: /\x{10000}/8DZ
100: ------------------------------------------------------------------
101: Bra
102: \x{10000}
103: Ket
104: End
105: ------------------------------------------------------------------
106: Capturing subpattern count = 0
107: Options: utf
108: First char = \x{d800}
109: Need char = \x{dc00}
110:
111: /\x{100}/8DZ
112: ------------------------------------------------------------------
113: Bra
114: \x{100}
115: Ket
116: End
117: ------------------------------------------------------------------
118: Capturing subpattern count = 0
119: Options: utf
120: First char = \x{100}
121: No need char
122:
123: /\x{1000}/8DZ
124: ------------------------------------------------------------------
125: Bra
126: \x{1000}
127: Ket
128: End
129: ------------------------------------------------------------------
130: Capturing subpattern count = 0
131: Options: utf
132: First char = \x{1000}
133: No need char
134:
135: /\x{10000}/8DZ
136: ------------------------------------------------------------------
137: Bra
138: \x{10000}
139: Ket
140: End
141: ------------------------------------------------------------------
142: Capturing subpattern count = 0
143: Options: utf
144: First char = \x{d800}
145: Need char = \x{dc00}
146:
147: /\x{100000}/8DZ
148: ------------------------------------------------------------------
149: Bra
150: \x{100000}
151: Ket
152: End
153: ------------------------------------------------------------------
154: Capturing subpattern count = 0
155: Options: utf
156: First char = \x{dbc0}
157: Need char = \x{dc00}
158:
159: /\x{10ffff}/8DZ
160: ------------------------------------------------------------------
161: Bra
162: \x{10ffff}
163: Ket
164: End
165: ------------------------------------------------------------------
166: Capturing subpattern count = 0
167: Options: utf
168: First char = \x{dbff}
169: Need char = \x{dfff}
170:
171: /[\x{ff}]/8DZ
172: ------------------------------------------------------------------
173: Bra
174: \x{ff}
175: Ket
176: End
177: ------------------------------------------------------------------
178: Capturing subpattern count = 0
179: Options: utf
180: First char = \x{ff}
181: No need char
182:
183: /[\x{100}]/8DZ
184: ------------------------------------------------------------------
185: Bra
186: \x{100}
187: Ket
188: End
189: ------------------------------------------------------------------
190: Capturing subpattern count = 0
191: Options: utf
192: First char = \x{100}
193: No need char
194:
195: /\x80/8DZ
196: ------------------------------------------------------------------
197: Bra
198: \x80
199: Ket
200: End
201: ------------------------------------------------------------------
202: Capturing subpattern count = 0
203: Options: utf
204: First char = \x{80}
205: No need char
206:
207: /\xff/8DZ
208: ------------------------------------------------------------------
209: Bra
210: \x{ff}
211: Ket
212: End
213: ------------------------------------------------------------------
214: Capturing subpattern count = 0
215: Options: utf
216: First char = \x{ff}
217: No need char
218:
219: /\x{D55c}\x{ad6d}\x{C5B4}/DZ8
220: ------------------------------------------------------------------
221: Bra
222: \x{d55c}\x{ad6d}\x{c5b4}
223: Ket
224: End
225: ------------------------------------------------------------------
226: Capturing subpattern count = 0
227: Options: utf
228: First char = \x{d55c}
229: Need char = \x{c5b4}
230: \x{D55c}\x{ad6d}\x{C5B4}
231: 0: \x{d55c}\x{ad6d}\x{c5b4}
232:
233: /\x{65e5}\x{672c}\x{8a9e}/DZ8
234: ------------------------------------------------------------------
235: Bra
236: \x{65e5}\x{672c}\x{8a9e}
237: Ket
238: End
239: ------------------------------------------------------------------
240: Capturing subpattern count = 0
241: Options: utf
242: First char = \x{65e5}
243: Need char = \x{8a9e}
244: \x{65e5}\x{672c}\x{8a9e}
245: 0: \x{65e5}\x{672c}\x{8a9e}
246:
247: /\x{80}/DZ8
248: ------------------------------------------------------------------
249: Bra
250: \x80
251: Ket
252: End
253: ------------------------------------------------------------------
254: Capturing subpattern count = 0
255: Options: utf
256: First char = \x{80}
257: No need char
258:
259: /\x{084}/DZ8
260: ------------------------------------------------------------------
261: Bra
262: \x{84}
263: Ket
264: End
265: ------------------------------------------------------------------
266: Capturing subpattern count = 0
267: Options: utf
268: First char = \x{84}
269: No need char
270:
271: /\x{104}/DZ8
272: ------------------------------------------------------------------
273: Bra
274: \x{104}
275: Ket
276: End
277: ------------------------------------------------------------------
278: Capturing subpattern count = 0
279: Options: utf
280: First char = \x{104}
281: No need char
282:
283: /\x{861}/DZ8
284: ------------------------------------------------------------------
285: Bra
286: \x{861}
287: Ket
288: End
289: ------------------------------------------------------------------
290: Capturing subpattern count = 0
291: Options: utf
292: First char = \x{861}
293: No need char
294:
295: /\x{212ab}/DZ8
296: ------------------------------------------------------------------
297: Bra
298: \x{212ab}
299: Ket
300: End
301: ------------------------------------------------------------------
302: Capturing subpattern count = 0
303: Options: utf
304: First char = \x{d844}
305: Need char = \x{deab}
306:
307: /-- This one is here not because it's different to Perl, but because the way
308: the captured single-byte is displayed. (In Perl it becomes a character, and you
309: can't tell the difference.) --/
310:
311: /X(\C)(.*)/8
312: X\x{1234}
313: 0: X\x{1234}
314: 1: \x{1234}
315: 2:
316: X\nabc
317: 0: X\x{0a}abc
318: 1: \x{0a}
319: 2: abc
320:
321: /-- This one is here because Perl gives out a grumbly error message (quite
322: correctly, but that messes up comparisons). --/
323:
324: /a\Cb/8
325: *** Failers
326: No match
327: a\x{100}b
328: 0: a\x{100}b
329:
330: /[^ab\xC0-\xF0]/8SDZ
331: ------------------------------------------------------------------
332: Bra
333: [\x00-`c-\xbf\xf1-\xff] (neg)
334: Ket
335: End
336: ------------------------------------------------------------------
337: Capturing subpattern count = 0
338: Options: utf
339: No first char
340: No need char
341: Subject length lower bound = 1
342: Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a
343: \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19
344: \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4
345: 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y
346: Z [ \ ] ^ _ ` c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ \x7f
347: \x80 \x81 \x82 \x83 \x84 \x85 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e
348: \x8f \x90 \x91 \x92 \x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d
349: \x9e \x9f \xa0 \xa1 \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac
350: \xad \xae \xaf \xb0 \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb
351: \xbc \xbd \xbe \xbf \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb
352: \xfc \xfd \xfe \xff
353: \x{f1}
354: 0: \x{f1}
355: \x{bf}
356: 0: \x{bf}
357: \x{100}
358: 0: \x{100}
359: \x{1000}
360: 0: \x{1000}
361: *** Failers
362: 0: *
363: \x{c0}
364: No match
365: \x{f0}
366: No match
367:
368: /Ā{3,4}/8SDZ
369: ------------------------------------------------------------------
370: Bra
371: \x{100}{3}
1.1.1.2 ! misho 372: \x{100}?+
1.1 misho 373: Ket
374: End
375: ------------------------------------------------------------------
376: Capturing subpattern count = 0
377: Options: utf
378: First char = \x{100}
379: Need char = \x{100}
380: Subject length lower bound = 3
381: No set of starting bytes
382: \x{100}\x{100}\x{100}\x{100\x{100}
383: 0: \x{100}\x{100}\x{100}
384:
385: /(\x{100}+|x)/8SDZ
386: ------------------------------------------------------------------
387: Bra
388: CBra 1
1.1.1.2 ! misho 389: \x{100}++
1.1 misho 390: Alt
391: x
392: Ket
393: Ket
394: End
395: ------------------------------------------------------------------
396: Capturing subpattern count = 1
397: Options: utf
398: No first char
399: No need char
400: Subject length lower bound = 1
401: Starting byte set: x \xff
402:
403: /(\x{100}*a|x)/8SDZ
404: ------------------------------------------------------------------
405: Bra
406: CBra 1
407: \x{100}*+
408: a
409: Alt
410: x
411: Ket
412: Ket
413: End
414: ------------------------------------------------------------------
415: Capturing subpattern count = 1
416: Options: utf
417: No first char
418: No need char
419: Subject length lower bound = 1
420: Starting byte set: a x \xff
421:
422: /(\x{100}{0,2}a|x)/8SDZ
423: ------------------------------------------------------------------
424: Bra
425: CBra 1
1.1.1.2 ! misho 426: \x{100}{0,2}+
1.1 misho 427: a
428: Alt
429: x
430: Ket
431: Ket
432: End
433: ------------------------------------------------------------------
434: Capturing subpattern count = 1
435: Options: utf
436: No first char
437: No need char
438: Subject length lower bound = 1
439: Starting byte set: a x \xff
440:
441: /(\x{100}{1,2}a|x)/8SDZ
442: ------------------------------------------------------------------
443: Bra
444: CBra 1
445: \x{100}
1.1.1.2 ! misho 446: \x{100}{0,1}+
1.1 misho 447: a
448: Alt
449: x
450: Ket
451: Ket
452: End
453: ------------------------------------------------------------------
454: Capturing subpattern count = 1
455: Options: utf
456: No first char
457: No need char
458: Subject length lower bound = 1
459: Starting byte set: x \xff
460:
461: /\x{100}/8DZ
462: ------------------------------------------------------------------
463: Bra
464: \x{100}
465: Ket
466: End
467: ------------------------------------------------------------------
468: Capturing subpattern count = 0
469: Options: utf
470: First char = \x{100}
471: No need char
472:
473: /a\x{100}\x{101}*/8DZ
474: ------------------------------------------------------------------
475: Bra
476: a\x{100}
1.1.1.2 ! misho 477: \x{101}*+
1.1 misho 478: Ket
479: End
480: ------------------------------------------------------------------
481: Capturing subpattern count = 0
482: Options: utf
483: First char = 'a'
484: Need char = \x{100}
485:
486: /a\x{100}\x{101}+/8DZ
487: ------------------------------------------------------------------
488: Bra
489: a\x{100}
1.1.1.2 ! misho 490: \x{101}++
1.1 misho 491: Ket
492: End
493: ------------------------------------------------------------------
494: Capturing subpattern count = 0
495: Options: utf
496: First char = 'a'
497: Need char = \x{101}
498:
499: /[^\x{c4}]/DZ
500: ------------------------------------------------------------------
501: Bra
502: [^\x{c4}]
503: Ket
504: End
505: ------------------------------------------------------------------
506: Capturing subpattern count = 0
507: No options
508: No first char
509: No need char
510:
511: /[\x{100}]/8DZ
512: ------------------------------------------------------------------
513: Bra
514: \x{100}
515: Ket
516: End
517: ------------------------------------------------------------------
518: Capturing subpattern count = 0
519: Options: utf
520: First char = \x{100}
521: No need char
522: \x{100}
523: 0: \x{100}
524: Z\x{100}
525: 0: \x{100}
526: \x{100}Z
527: 0: \x{100}
528: *** Failers
529: No match
530:
531: /[\xff]/DZ8
532: ------------------------------------------------------------------
533: Bra
534: \x{ff}
535: Ket
536: End
537: ------------------------------------------------------------------
538: Capturing subpattern count = 0
539: Options: utf
540: First char = \x{ff}
541: No need char
542: >\x{ff}<
543: 0: \x{ff}
544:
545: /[^\xff]/8DZ
546: ------------------------------------------------------------------
547: Bra
548: [^\x{ff}]
549: Ket
550: End
551: ------------------------------------------------------------------
552: Capturing subpattern count = 0
553: Options: utf
554: No first char
555: No need char
556:
557: /\x{100}abc(xyz(?1))/8DZ
558: ------------------------------------------------------------------
559: Bra
560: \x{100}abc
561: CBra 1
562: xyz
563: Recurse
564: Ket
565: Ket
566: End
567: ------------------------------------------------------------------
568: Capturing subpattern count = 1
569: Options: utf
570: First char = \x{100}
571: Need char = 'z'
572:
573: /\777/8I
574: Capturing subpattern count = 0
575: Options: utf
576: First char = \x{1ff}
577: No need char
578: \x{1ff}
579: 0: \x{1ff}
580: \777
581: 0: \x{1ff}
582:
583: /\x{100}+\x{200}/8DZ
584: ------------------------------------------------------------------
585: Bra
586: \x{100}++
587: \x{200}
588: Ket
589: End
590: ------------------------------------------------------------------
591: Capturing subpattern count = 0
592: Options: utf
593: First char = \x{100}
594: Need char = \x{200}
595:
596: /\x{100}+X/8DZ
597: ------------------------------------------------------------------
598: Bra
599: \x{100}++
600: X
601: Ket
602: End
603: ------------------------------------------------------------------
604: Capturing subpattern count = 0
605: Options: utf
606: First char = \x{100}
607: Need char = 'X'
608:
609: /^[\QĀ\E-\QŐ\E/BZ8
610: Failed: missing terminating ] for character class at offset 13
611:
612: /X/8
613: \x{d800}
614: Error -10 (bad UTF-16 string) offset=0 reason=1
615: \x{d800}\?
616: No match
617: \x{da00}
618: Error -10 (bad UTF-16 string) offset=0 reason=1
619: \x{da00}\?
620: No match
621: \x{dc00}
622: Error -10 (bad UTF-16 string) offset=0 reason=3
623: \x{dc00}\?
624: No match
625: \x{de00}
626: Error -10 (bad UTF-16 string) offset=0 reason=3
627: \x{de00}\?
628: No match
629: \x{dfff}
630: Error -10 (bad UTF-16 string) offset=0 reason=3
631: \x{dfff}\?
632: No match
633: \x{110000}
634: ** Failed: character \x{110000} is greater than 0x10ffff and so cannot be converted to UTF-16
635: \x{d800}\x{1234}
636: Error -10 (bad UTF-16 string) offset=1 reason=2
637:
638: /(*UTF16)\x{11234}/
639: abcd\x{11234}pqr
640: 0: \x{11234}
641:
642: /(*UTF)\x{11234}/I
643: Capturing subpattern count = 0
644: Options: utf
645: First char = \x{d804}
646: Need char = \x{de34}
647: abcd\x{11234}pqr
648: 0: \x{11234}
649:
650: /(*UTF-32)\x{11234}/
651: Failed: (*VERB) not recognized or malformed at offset 5
652:
653: /(*CRLF)(*UTF16)(*BSR_UNICODE)a\Rb/I
654: Capturing subpattern count = 0
655: Options: bsr_unicode utf
656: Forced newline sequence: CRLF
657: First char = 'a'
658: Need char = 'b'
659:
660: /(*CRLF)(*UTF32)(*BSR_UNICODE)a\Rb/I
661: Failed: (*VERB) not recognized or malformed at offset 12
662:
663: /\h/SI8
664: Capturing subpattern count = 0
665: Options: utf
666: No first char
667: No need char
668: Subject length lower bound = 1
669: Starting byte set: \x09 \x20 \xa0 \xff
670: ABC\x{09}
671: 0: \x{09}
672: ABC\x{20}
673: 0:
674: ABC\x{a0}
675: 0: \x{a0}
676: ABC\x{1680}
677: 0: \x{1680}
678: ABC\x{180e}
679: 0: \x{180e}
680: ABC\x{2000}
681: 0: \x{2000}
682: ABC\x{202f}
683: 0: \x{202f}
684: ABC\x{205f}
685: 0: \x{205f}
686: ABC\x{3000}
687: 0: \x{3000}
688:
689: /\v/SI8
690: Capturing subpattern count = 0
691: Options: utf
692: No first char
693: No need char
694: Subject length lower bound = 1
695: Starting byte set: \x0a \x0b \x0c \x0d \x85 \xff
696: ABC\x{0a}
697: 0: \x{0a}
698: ABC\x{0b}
699: 0: \x{0b}
700: ABC\x{0c}
701: 0: \x{0c}
702: ABC\x{0d}
703: 0: \x{0d}
704: ABC\x{85}
705: 0: \x{85}
706: ABC\x{2028}
707: 0: \x{2028}
708:
709: /\h*A/SI8
710: Capturing subpattern count = 0
711: Options: utf
712: No first char
713: Need char = 'A'
714: Subject length lower bound = 1
715: Starting byte set: \x09 \x20 A \xa0 \xff
716: CDBABC
717: 0: A
718: \x{2000}ABC
719: 0: \x{2000}A
720:
721: /\R*A/SI8
722: Capturing subpattern count = 0
723: Options: utf
724: No first char
725: Need char = 'A'
726: Subject length lower bound = 1
727: Starting byte set: \x0a \x0b \x0c \x0d A \x85 \xff
728: CDBABC
729: 0: A
730: \x{2028}A
731: 0: \x{2028}A
732:
733: /\v+A/SI8
734: Capturing subpattern count = 0
735: Options: utf
736: No first char
737: Need char = 'A'
738: Subject length lower bound = 2
739: Starting byte set: \x0a \x0b \x0c \x0d \x85 \xff
740:
741: /\s?xxx\s/8SI
742: Capturing subpattern count = 0
743: Options: utf
744: No first char
745: Need char = 'x'
746: Subject length lower bound = 4
1.1.1.2 ! misho 747: Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20 x
1.1 misho 748:
749: /\sxxx\s/I8ST1
750: Capturing subpattern count = 0
751: Options: utf
752: No first char
753: Need char = 'x'
754: Subject length lower bound = 5
755: Starting byte set: \x09 \x0a \x0c \x0d \x20 \x85 \xa0
756: AB\x{85}xxx\x{a0}XYZ
757: 0: \x{85}xxx\x{a0}
758: AB\x{a0}xxx\x{85}XYZ
759: 0: \x{a0}xxx\x{85}
760:
761: /\S \S/I8ST1
762: Capturing subpattern count = 0
763: Options: utf
764: No first char
765: Need char = ' '
766: Subject length lower bound = 3
767: Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x0b \x0e
768: \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 \x1a \x1b \x1c \x1d
769: \x1e \x1f ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @
770: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e
771: f g h i j k l m n o p q r s t u v w x y z { | } ~ \x7f \x80 \x81 \x82 \x83
772: \x84 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 \x91 \x92 \x93
773: \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f \xa1 \xa2 \xa3
774: \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae \xaf \xb0 \xb1 \xb2
775: \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd \xbe \xbf \xc0 \xc1
776: \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce \xcf \xd0
777: \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd \xde \xdf
778: \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec \xed \xee
779: \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb \xfc \xfd
780: \xfe \xff
781: \x{a2} \x{84}
782: 0: \x{a2} \x{84}
783: A Z
784: 0: A Z
785:
786: /a+/8
787: a\x{123}aa\>1
788: 0: aa
789: a\x{123}aa\>2
790: 0: aa
791: a\x{123}aa\>3
792: 0: a
793: a\x{123}aa\>4
794: No match
795: a\x{123}aa\>5
796: Error -24 (bad offset value)
797: a\x{123}aa\>6
798: Error -24 (bad offset value)
799:
800: /\x{1234}+/iS8I
801: Capturing subpattern count = 0
802: Options: caseless utf
803: First char = \x{1234}
804: No need char
805: Subject length lower bound = 1
806: No set of starting bytes
807:
808: /\x{1234}+?/iS8I
809: Capturing subpattern count = 0
810: Options: caseless utf
811: First char = \x{1234}
812: No need char
813: Subject length lower bound = 1
814: No set of starting bytes
815:
816: /\x{1234}++/iS8I
817: Capturing subpattern count = 0
818: Options: caseless utf
819: First char = \x{1234}
820: No need char
821: Subject length lower bound = 1
822: No set of starting bytes
823:
824: /\x{1234}{2}/iS8I
825: Capturing subpattern count = 0
826: Options: caseless utf
827: First char = \x{1234}
828: Need char = \x{1234}
829: Subject length lower bound = 2
830: No set of starting bytes
831:
832: /[^\x{c4}]/8DZ
833: ------------------------------------------------------------------
834: Bra
835: [^\x{c4}]
836: Ket
837: End
838: ------------------------------------------------------------------
839: Capturing subpattern count = 0
840: Options: utf
841: No first char
842: No need char
843:
844: /X+\x{200}/8DZ
845: ------------------------------------------------------------------
846: Bra
847: X++
848: \x{200}
849: Ket
850: End
851: ------------------------------------------------------------------
852: Capturing subpattern count = 0
853: Options: utf
854: First char = 'X'
855: Need char = \x{200}
856:
857: /\R/SI8
858: Capturing subpattern count = 0
859: Options: utf
860: No first char
861: No need char
862: Subject length lower bound = 1
863: Starting byte set: \x0a \x0b \x0c \x0d \x85 \xff
864:
865: /-- Check bad offset --/
866:
867: /a/8
868: \x{10000}\>1
869: Error -11 (bad UTF-16 offset)
870: \x{10000}ab\>1
871: Error -11 (bad UTF-16 offset)
872: \x{10000}ab\>2
873: 0: a
874: \x{10000}ab\>3
875: No match
876: \x{10000}ab\>4
877: No match
878: \x{10000}ab\>5
879: Error -24 (bad offset value)
880:
881: //8
882: Failed: invalid UTF-16 string at offset 0
883:
884: /\w+\x{C4}/8BZ
885: ------------------------------------------------------------------
886: Bra
887: \w++
888: \x{c4}
889: Ket
890: End
891: ------------------------------------------------------------------
892: a\x{C4}\x{C4}
893: 0: a\x{c4}
894:
895: /\w+\x{C4}/8BZT1
896: ------------------------------------------------------------------
897: Bra
898: \w+
899: \x{c4}
900: Ket
901: End
902: ------------------------------------------------------------------
903: a\x{C4}\x{C4}
904: 0: a\x{c4}\x{c4}
905:
906: /\W+\x{C4}/8BZ
907: ------------------------------------------------------------------
908: Bra
909: \W+
910: \x{c4}
911: Ket
912: End
913: ------------------------------------------------------------------
914: !\x{C4}
915: 0: !\x{c4}
916:
917: /\W+\x{C4}/8BZT1
918: ------------------------------------------------------------------
919: Bra
920: \W++
921: \x{c4}
922: Ket
923: End
924: ------------------------------------------------------------------
925: !\x{C4}
926: 0: !\x{c4}
927:
928: /\W+\x{A1}/8BZ
929: ------------------------------------------------------------------
930: Bra
931: \W+
932: \x{a1}
933: Ket
934: End
935: ------------------------------------------------------------------
936: !\x{A1}
937: 0: !\x{a1}
938:
939: /\W+\x{A1}/8BZT1
940: ------------------------------------------------------------------
941: Bra
942: \W+
943: \x{a1}
944: Ket
945: End
946: ------------------------------------------------------------------
947: !\x{A1}
948: 0: !\x{a1}
949:
950: /X\s+\x{A0}/8BZ
951: ------------------------------------------------------------------
952: Bra
953: X
954: \s++
955: \x{a0}
956: Ket
957: End
958: ------------------------------------------------------------------
959: X\x20\x{A0}\x{A0}
960: 0: X \x{a0}
961:
962: /X\s+\x{A0}/8BZT1
963: ------------------------------------------------------------------
964: Bra
965: X
966: \s+
967: \x{a0}
968: Ket
969: End
970: ------------------------------------------------------------------
971: X\x20\x{A0}\x{A0}
972: 0: X \x{a0}\x{a0}
973:
974: /\S+\x{A0}/8BZ
975: ------------------------------------------------------------------
976: Bra
977: \S+
978: \x{a0}
979: Ket
980: End
981: ------------------------------------------------------------------
982: X\x{A0}\x{A0}
983: 0: X\x{a0}\x{a0}
984:
985: /\S+\x{A0}/8BZT1
986: ------------------------------------------------------------------
987: Bra
988: \S++
989: \x{a0}
990: Ket
991: End
992: ------------------------------------------------------------------
993: X\x{A0}\x{A0}
994: 0: X\x{a0}
995:
996: /\x{a0}+\s!/8BZ
997: ------------------------------------------------------------------
998: Bra
999: \x{a0}++
1000: \s
1001: !
1002: Ket
1003: End
1004: ------------------------------------------------------------------
1005: \x{a0}\x20!
1006: 0: \x{a0} !
1007:
1008: /\x{a0}+\s!/8BZT1
1009: ------------------------------------------------------------------
1010: Bra
1011: \x{a0}+
1012: \s
1013: !
1014: Ket
1015: End
1016: ------------------------------------------------------------------
1017: \x{a0}\x20!
1018: 0: \x{a0} !
1019:
1020: /(*UTF)abc/9
1021: Failed: setting UTF is disabled by the application at offset 0
1022:
1023: /abc/89
1024: Failed: setting UTF is disabled by the application at offset 0
1025:
1026: /-- End of testinput18 --/
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>