/[pcre]/code/trunk/testdata/testoutput5
ViewVC logotype

Diff of /code/trunk/testdata/testoutput5

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 51 by nigel, Sat Feb 24 21:39:37 2007 UTC revision 560 by ph10, Wed Oct 27 09:59:43 2010 UTC
# Line 1  Line 1 
1  PCRE version 3.4 22-Aug-2000  /-- This set of tests checks the API, internals, and non-Perl stuff for UTF-8
2        support, excluding Unicode properties. --/
3    
4  /-- Because of problems with Perl 5.6 in handling UTF-8 vs non UTF-8 --/  /\x{100}/8DZ
5  /-- strings automatically, do not use the \x{} construct except with --/  ------------------------------------------------------------------
6  No match          Bra
7  /-- patterns that have the /8 option set, and don't use them without! --/          \x{100}
8  No match          Ket
9            End
10    ------------------------------------------------------------------
11    Capturing subpattern count = 0
12    Options: utf8
13    First char = 196
14    Need char = 128
15    
16    /\x{1000}/8DZ
17    ------------------------------------------------------------------
18            Bra
19            \x{1000}
20            Ket
21            End
22    ------------------------------------------------------------------
23    Capturing subpattern count = 0
24    Options: utf8
25    First char = 225
26    Need char = 128
27    
28    /\x{10000}/8DZ
29    ------------------------------------------------------------------
30            Bra
31            \x{10000}
32            Ket
33            End
34    ------------------------------------------------------------------
35    Capturing subpattern count = 0
36    Options: utf8
37    First char = 240
38    Need char = 128
39    
40    /\x{100000}/8DZ
41    ------------------------------------------------------------------
42            Bra
43            \x{100000}
44            Ket
45            End
46    ------------------------------------------------------------------
47    Capturing subpattern count = 0
48    Options: utf8
49    First char = 244
50    Need char = 128
51    
52    /\x{1000000}/8DZ
53    ------------------------------------------------------------------
54            Bra
55            \x{1000000}
56            Ket
57            End
58    ------------------------------------------------------------------
59    Capturing subpattern count = 0
60    Options: utf8
61    First char = 249
62    Need char = 128
63    
64    /\x{4000000}/8DZ
65    ------------------------------------------------------------------
66            Bra
67            \x{4000000}
68            Ket
69            End
70    ------------------------------------------------------------------
71    Capturing subpattern count = 0
72    Options: utf8
73    First char = 252
74    Need char = 128
75    
76    /\x{7fffFFFF}/8DZ
77    ------------------------------------------------------------------
78            Bra
79            \x{7fffffff}
80            Ket
81            End
82    ------------------------------------------------------------------
83    Capturing subpattern count = 0
84    Options: utf8
85    First char = 253
86    Need char = 191
87    
88    /[\x{ff}]/8DZ
89    ------------------------------------------------------------------
90            Bra
91            \x{ff}
92            Ket
93            End
94    ------------------------------------------------------------------
95    Capturing subpattern count = 0
96    Options: utf8
97    First char = 195
98    Need char = 191
99    
100    /[\x{100}]/8DZ
101    ------------------------------------------------------------------
102            Bra
103            [\x{100}]
104            Ket
105            End
106    ------------------------------------------------------------------
107    Capturing subpattern count = 0
108    Options: utf8
109    No first char
110    No need char
111    
112    /\x{ffffffff}/8
113    Failed: character value in \x{...} sequence is too large at offset 11
114    
115    /\x{100000000}/8
116    Failed: character value in \x{...} sequence is too large at offset 12
117    
118    /^\x{100}a\x{1234}/8
119        \x{100}a\x{1234}bcd
120     0: \x{100}a\x{1234}
121    
122    /\x80/8DZ
123    ------------------------------------------------------------------
124            Bra
125            \x{80}
126            Ket
127            End
128    ------------------------------------------------------------------
129    Capturing subpattern count = 0
130    Options: utf8
131    First char = 194
132    Need char = 128
133    
134    /\xff/8DZ
135    ------------------------------------------------------------------
136            Bra
137            \x{ff}
138            Ket
139            End
140    ------------------------------------------------------------------
141    Capturing subpattern count = 0
142    Options: utf8
143    First char = 195
144    Need char = 191
145    
146    /\x{0041}\x{2262}\x{0391}\x{002e}/DZ8
147    ------------------------------------------------------------------
148            Bra
149            A\x{2262}\x{391}.
150            Ket
151            End
152    ------------------------------------------------------------------
153    Capturing subpattern count = 0
154    Options: utf8
155    First char = 'A'
156    Need char = '.'
157        \x{0041}\x{2262}\x{0391}\x{002e}
158     0: A\x{2262}\x{391}.
159    
160    /\x{D55c}\x{ad6d}\x{C5B4}/DZ8
161    ------------------------------------------------------------------
162            Bra
163            \x{d55c}\x{ad6d}\x{c5b4}
164            Ket
165            End
166    ------------------------------------------------------------------
167    Capturing subpattern count = 0
168    Options: utf8
169    First char = 237
170    Need char = 180
171        \x{D55c}\x{ad6d}\x{C5B4}
172     0: \x{d55c}\x{ad6d}\x{c5b4}
173    
174    /\x{65e5}\x{672c}\x{8a9e}/DZ8
175    ------------------------------------------------------------------
176            Bra
177            \x{65e5}\x{672c}\x{8a9e}
178            Ket
179            End
180    ------------------------------------------------------------------
181    Capturing subpattern count = 0
182    Options: utf8
183    First char = 230
184    Need char = 158
185        \x{65e5}\x{672c}\x{8a9e}
186     0: \x{65e5}\x{672c}\x{8a9e}
187    
188    /\x{80}/DZ8
189    ------------------------------------------------------------------
190            Bra
191            \x{80}
192            Ket
193            End
194    ------------------------------------------------------------------
195    Capturing subpattern count = 0
196    Options: utf8
197    First char = 194
198    Need char = 128
199    
200    /\x{084}/DZ8
201    ------------------------------------------------------------------
202            Bra
203            \x{84}
204            Ket
205            End
206    ------------------------------------------------------------------
207    Capturing subpattern count = 0
208    Options: utf8
209    First char = 194
210    Need char = 132
211    
212    /\x{104}/DZ8
213    ------------------------------------------------------------------
214            Bra
215            \x{104}
216            Ket
217            End
218    ------------------------------------------------------------------
219    Capturing subpattern count = 0
220    Options: utf8
221    First char = 196
222    Need char = 132
223    
224    /\x{861}/DZ8
225    ------------------------------------------------------------------
226            Bra
227            \x{861}
228            Ket
229            End
230    ------------------------------------------------------------------
231    Capturing subpattern count = 0
232    Options: utf8
233    First char = 224
234    Need char = 161
235    
236    /\x{212ab}/DZ8
237    ------------------------------------------------------------------
238            Bra
239            \x{212ab}
240            Ket
241            End
242    ------------------------------------------------------------------
243    Capturing subpattern count = 0
244    Options: utf8
245    First char = 240
246    Need char = 171
247    
248    /.{3,5}X/DZ8
249    ------------------------------------------------------------------
250            Bra
251            Any{3}
252            Any{0,2}
253            X
254            Ket
255            End
256    ------------------------------------------------------------------
257    Capturing subpattern count = 0
258    Options: utf8
259    No first char
260    Need char = 'X'
261        \x{212ab}\x{212ab}\x{212ab}\x{861}X
262     0: \x{212ab}\x{212ab}\x{212ab}\x{861}X
263    
264    
265    /.{3,5}?/DZ8
266    ------------------------------------------------------------------
267            Bra
268            Any{3}
269            Any{0,2}?
270            Ket
271            End
272    ------------------------------------------------------------------
273    Capturing subpattern count = 0
274    Options: utf8
275    No first char
276    No need char
277        \x{212ab}\x{212ab}\x{212ab}\x{861}
278     0: \x{212ab}\x{212ab}\x{212ab}
279    
280    /(?<=\C)X/8
281    Failed: \C not allowed in lookbehind assertion at offset 6
282    
283    /-- This one is here not because it's different to Perl, but because the way
284    the captured single-byte is displayed. (In Perl it becomes a character, and you
285    can't tell the difference.) --/
286    
287    /X(\C)(.*)/8
288        X\x{1234}
289     0: X\x{1234}
290     1: \xe1
291     2: \x88\xb4
292        X\nabc
293     0: X\x{0a}abc
294     1: \x{0a}
295     2: abc
296    
297  /a.b/8  /-- This one is here because Perl gives out a grumbly error message (quite
298      acb  correctly, but that messes up comparisons). --/
299   0: acb  
300      a\x7fb  /a\Cb/8
301   0: a\x{7f}b      *** Failers
302    No match
303      a\x{100}b      a\x{100}b
304   0: a\x{100}b  No match
305    
306    /^[ab]/8DZ
307    ------------------------------------------------------------------
308            Bra
309            ^
310            [ab]
311            Ket
312            End
313    ------------------------------------------------------------------
314    Capturing subpattern count = 0
315    Options: anchored utf8
316    No first char
317    No need char
318        bar
319     0: b
320      *** Failers      *** Failers
321  No match  No match
322      a\nb      c
323    No match
324        \x{ff}
325    No match
326        \x{100}
327  No match  No match
328    
329  /a(.{3})b/8  /^[^ab]/8DZ
330      a\x{4000}xyb  ------------------------------------------------------------------
331   0: a\x{4000}xyb          Bra
332   1: \x{4000}xy          ^
333      a\x{4000}\x7fyb          [\x00-`c-\xff] (neg)
334   0: a\x{4000}\x{7f}yb          Ket
335   1: \x{4000}\x{7f}y          End
336      a\x{4000}\x{100}yb  ------------------------------------------------------------------
337   0: a\x{4000}\x{100}yb  Capturing subpattern count = 0
338   1: \x{4000}\x{100}y  Options: anchored utf8
339      *** Failers  No first char
340    No need char
341        c
342     0: c
343        \x{ff}
344     0: \x{ff}
345        \x{100}
346     0: \x{100}
347        *** Failers
348     0: *
349        aaa
350  No match  No match
351      a\x{4000}b  
352    /[^ab\xC0-\xF0]/8SDZ
353    ------------------------------------------------------------------
354            Bra
355            [\x00-`c-\xbf\xf1-\xff] (neg)
356            Ket
357            End
358    ------------------------------------------------------------------
359    Capturing subpattern count = 0
360    Options: utf8
361    No first char
362    No need char
363    Subject length lower bound = 1
364    Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a
365      \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19
366      \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4
367      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
368      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
369      \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce \xcf \xd0
370      \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd \xde \xdf
371      \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec \xed \xee
372      \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb \xfc \xfd
373      \xfe \xff
374        \x{f1}
375     0: \x{f1}
376        \x{bf}
377     0: \x{bf}
378        \x{100}
379     0: \x{100}
380        \x{1000}
381     0: \x{1000}
382        *** Failers
383     0: *
384        \x{c0}
385  No match  No match
386      ac\ncb      \x{f0}
387  No match  No match
388    
389  /a(.*?)(.)/  /Ā{3,4}/8SDZ
390      a\xc0\x88b  ------------------------------------------------------------------
391   0: a\xc0          Bra
392   1:          \x{100}{3}
393   2: \xc0          \x{100}?
394            Ket
395            End
396    ------------------------------------------------------------------
397    Capturing subpattern count = 0
398    Options: utf8
399    First char = 196
400    Need char = 128
401    Subject length lower bound = 3
402    No set of starting bytes
403      \x{100}\x{100}\x{100}\x{100\x{100}
404     0: \x{100}\x{100}\x{100}
405    
406    /(\x{100}+|x)/8SDZ
407    ------------------------------------------------------------------
408            Bra
409            CBra 1
410            \x{100}+
411            Alt
412            x
413            Ket
414            Ket
415            End
416    ------------------------------------------------------------------
417    Capturing subpattern count = 1
418    Options: utf8
419    No first char
420    No need char
421    Subject length lower bound = 1
422    Starting byte set: x \xc4
423    
424    /(\x{100}*a|x)/8SDZ
425    ------------------------------------------------------------------
426            Bra
427            CBra 1
428            \x{100}*+
429            a
430            Alt
431            x
432            Ket
433            Ket
434            End
435    ------------------------------------------------------------------
436    Capturing subpattern count = 1
437    Options: utf8
438    No first char
439    No need char
440    Subject length lower bound = 1
441    Starting byte set: a x \xc4
442    
443    /(\x{100}{0,2}a|x)/8SDZ
444    ------------------------------------------------------------------
445            Bra
446            CBra 1
447            \x{100}{0,2}
448            a
449            Alt
450            x
451            Ket
452            Ket
453            End
454    ------------------------------------------------------------------
455    Capturing subpattern count = 1
456    Options: utf8
457    No first char
458    No need char
459    Subject length lower bound = 1
460    Starting byte set: a x \xc4
461    
462    /(\x{100}{1,2}a|x)/8SDZ
463    ------------------------------------------------------------------
464            Bra
465            CBra 1
466            \x{100}
467            \x{100}{0,1}
468            a
469            Alt
470            x
471            Ket
472            Ket
473            End
474    ------------------------------------------------------------------
475    Capturing subpattern count = 1
476    Options: utf8
477    No first char
478    No need char
479    Subject length lower bound = 1
480    Starting byte set: x \xc4
481    
482    /\x{100}*(\d+|"(?1)")/8
483        1234
484     0: 1234
485     1: 1234
486        "1234"
487     0: "1234"
488     1: "1234"
489        \x{100}1234
490     0: \x{100}1234
491     1: 1234
492        "\x{100}1234"
493     0: \x{100}1234
494     1: 1234
495        \x{100}\x{100}12ab
496     0: \x{100}\x{100}12
497     1: 12
498        \x{100}\x{100}"12"
499     0: \x{100}\x{100}"12"
500     1: "12"
501        *** Failers
502    No match
503        \x{100}\x{100}abcd
504    No match
505    
506  /a(.*?)(.)/8  /\x{100}/8DZ
507      a\x{100}b  ------------------------------------------------------------------
508   0: a\x{100}          Bra
509   1:          \x{100}
510   2: \x{100}          Ket
511            End
512    ------------------------------------------------------------------
513    Capturing subpattern count = 0
514    Options: utf8
515    First char = 196
516    Need char = 128
517    
518    /\x{100}*/8DZ
519    ------------------------------------------------------------------
520            Bra
521            \x{100}*
522            Ket
523            End
524    ------------------------------------------------------------------
525    Capturing subpattern count = 0
526    Options: utf8
527    No first char
528    No need char
529    
530    /a\x{100}*/8DZ
531    ------------------------------------------------------------------
532            Bra
533            a
534            \x{100}*
535            Ket
536            End
537    ------------------------------------------------------------------
538    Capturing subpattern count = 0
539    Options: utf8
540    First char = 'a'
541    No need char
542    
543    /ab\x{100}*/8DZ
544    ------------------------------------------------------------------
545            Bra
546            ab
547            \x{100}*
548            Ket
549            End
550    ------------------------------------------------------------------
551    Capturing subpattern count = 0
552    Options: utf8
553    First char = 'a'
554    Need char = 'b'
555    
556    /a\x{100}\x{101}*/8DZ
557    ------------------------------------------------------------------
558            Bra
559            a\x{100}
560            \x{101}*
561            Ket
562            End
563    ------------------------------------------------------------------
564    Capturing subpattern count = 0
565    Options: utf8
566    First char = 'a'
567    Need char = 128
568    
569    /a\x{100}\x{101}+/8DZ
570    ------------------------------------------------------------------
571            Bra
572            a\x{100}
573            \x{101}+
574            Ket
575            End
576    ------------------------------------------------------------------
577    Capturing subpattern count = 0
578    Options: utf8
579    First char = 'a'
580    Need char = 129
581    
582    /\x{100}*A/8DZ
583    ------------------------------------------------------------------
584            Bra
585            \x{100}*+
586            A
587            Ket
588            End
589    ------------------------------------------------------------------
590    Capturing subpattern count = 0
591    Options: utf8
592    No first char
593    Need char = 'A'
594        A
595     0: A
596    
597    /\x{100}*\d(?R)/8DZ
598    ------------------------------------------------------------------
599            Bra
600            \x{100}*+
601            \d
602            Once
603            Recurse
604            Ket
605            Ket
606            End
607    ------------------------------------------------------------------
608    Capturing subpattern count = 0
609    Options: utf8
610    No first char
611    No need char
612    
613    /[^\x{c4}]/DZ
614    ------------------------------------------------------------------
615            Bra
616            [^\xc4]
617            Ket
618            End
619    ------------------------------------------------------------------
620    Capturing subpattern count = 0
621    No options
622    No first char
623    No need char
624    
625    /[^\x{c4}]/8DZ
626    ------------------------------------------------------------------
627            Bra
628            [\x00-\xc3\xc5-\xff] (neg)
629            Ket
630            End
631    ------------------------------------------------------------------
632    Capturing subpattern count = 0
633    Options: utf8
634    No first char
635    No need char
636    
637    /[\x{100}]/8DZ
638    ------------------------------------------------------------------
639            Bra
640            [\x{100}]
641            Ket
642            End
643    ------------------------------------------------------------------
644    Capturing subpattern count = 0
645    Options: utf8
646    No first char
647    No need char
648        \x{100}
649     0: \x{100}
650        Z\x{100}
651     0: \x{100}
652        \x{100}Z
653     0: \x{100}
654        *** Failers
655    No match
656    
657  /a(.*)(.)/  /[Z\x{100}]/8DZ
658      a\xc0\x88b  ------------------------------------------------------------------
659   0: a\xc0\x88b          Bra
660   1: \xc0\x88          [Z\x{100}]
661   2: b          Ket
662            End
663  /a(.*)(.)/8  ------------------------------------------------------------------
664      a\x{100}b  Capturing subpattern count = 0
665   0: a\x{100}b  Options: utf8
666   1: \x{100}  No first char
667   2: b  No need char
668        Z\x{100}
669  /a(.)(.)/   0: Z
670      a\xc0\x92bcd      \x{100}
671   0: a\xc0\x92   0: \x{100}
672   1: \xc0      \x{100}Z
673   2: \x92   0: \x{100}
674        *** Failers
675  /a(.)(.)/8  No match
     a\x{240}bcd  
  0: a\x{240}b  
  1: \x{240}  
  2: b  
   
 /a(.?)(.)/  
     a\xc0\x92bcd  
  0: a\xc0\x92  
  1: \xc0  
  2: \x92  
   
 /a(.?)(.)/8  
     a\x{240}bcd  
  0: a\x{240}b  
  1: \x{240}  
  2: b  
   
 /a(.??)(.)/  
     a\xc0\x92bcd  
  0: a\xc0  
  1:  
  2: \xc0  
676    
677  /a(.??)(.)/8  /[\x{200}-\x{100}]/8
678      a\x{240}bcd  Failed: range out of order in character class at offset 15
  0: a\x{240}  
  1:  
  2: \x{240}  
679    
680  /a(.{3})b/8  /[Ā-Ą]/8
681      a\x{1234}xyb      \x{100}
682   0: a\x{1234}xyb   0: \x{100}
683   1: \x{1234}xy      \x{104}
684      a\x{1234}\x{4321}yb   0: \x{104}
  0: a\x{1234}\x{4321}yb  
  1: \x{1234}\x{4321}y  
     a\x{1234}\x{4321}\x{3412}b  
  0: a\x{1234}\x{4321}\x{3412}b  
  1: \x{1234}\x{4321}\x{3412}  
685      *** Failers      *** Failers
686  No match  No match
687      a\x{1234}b      \x{105}
688  No match  No match
689      ac\ncb      \x{ff}
690  No match  No match
691    
692  /a(.{3,})b/8  /[z-\x{100}]/8DZ
693      a\x{1234}xyb  ------------------------------------------------------------------
694   0: a\x{1234}xyb          Bra
695   1: \x{1234}xy          [z-\x{100}]
696      a\x{1234}\x{4321}yb          Ket
697   0: a\x{1234}\x{4321}yb          End
698   1: \x{1234}\x{4321}y  ------------------------------------------------------------------
699      a\x{1234}\x{4321}\x{3412}b  Capturing subpattern count = 0
700   0: a\x{1234}\x{4321}\x{3412}b  Options: utf8
701   1: \x{1234}\x{4321}\x{3412}  No first char
702      axxxxbcdefghijb  No need char
703   0: axxxxbcdefghijb  
704   1: xxxxbcdefghij  /[z\Qa-d]Ā\E]/8DZ
705      a\x{1234}\x{4321}\x{3412}\x{3421}b  ------------------------------------------------------------------
706   0: a\x{1234}\x{4321}\x{3412}\x{3421}b          Bra
707   1: \x{1234}\x{4321}\x{3412}\x{3421}          [\-\]adz\x{100}]
708      *** Failers          Ket
709            End
710    ------------------------------------------------------------------
711    Capturing subpattern count = 0
712    Options: utf8
713    No first char
714    No need char
715        \x{100}
716     0: \x{100}
717        Ā
718     0: \x{100}
719    
720    /[\xFF]/DZ
721    ------------------------------------------------------------------
722            Bra
723            \xff
724            Ket
725            End
726    ------------------------------------------------------------------
727    Capturing subpattern count = 0
728    No options
729    First char = 255
730    No need char
731        >\xff<
732     0: \xff
733    
734    /[\xff]/DZ8
735    ------------------------------------------------------------------
736            Bra
737            \x{ff}
738            Ket
739            End
740    ------------------------------------------------------------------
741    Capturing subpattern count = 0
742    Options: utf8
743    First char = 195
744    Need char = 191
745        >\x{ff}<
746     0: \x{ff}
747    
748    /[^\xFF]/DZ
749    ------------------------------------------------------------------
750            Bra
751            [^\xff]
752            Ket
753            End
754    ------------------------------------------------------------------
755    Capturing subpattern count = 0
756    No options
757    No first char
758    No need char
759    
760    /[^\xff]/8DZ
761    ------------------------------------------------------------------
762            Bra
763            [\x00-\xfe] (neg)
764            Ket
765            End
766    ------------------------------------------------------------------
767    Capturing subpattern count = 0
768    Options: utf8
769    No first char
770    No need char
771    
772    /[Ä-Ü]/8
773        Ö # Matches without Study
774     0: \x{d6}
775        \x{d6}
776     0: \x{d6}
777    
778    /[Ä-Ü]/8S
779        Ö <-- Same with Study
780     0: \x{d6}
781        \x{d6}
782     0: \x{d6}
783    
784    /[\x{c4}-\x{dc}]/8
785        Ö # Matches without Study
786     0: \x{d6}
787        \x{d6}
788     0: \x{d6}
789    
790    /[\x{c4}-\x{dc}]/8S
791        Ö <-- Same with Study
792     0: \x{d6}
793        \x{d6}
794     0: \x{d6}
795    
796    /[]/8
797    Failed: invalid UTF-8 string at offset 2
798    
799    //8
800    Failed: invalid UTF-8 string at offset 0
801    
802    /xxx/8
803    Failed: invalid UTF-8 string at offset 1
804    
805    /xxx/8?DZ
806    ------------------------------------------------------------------
807            Bra
808            \X{c0}\X{c0}\X{c0}xxx
809            Ket
810            End
811    ------------------------------------------------------------------
812    Capturing subpattern count = 0
813    Options: utf8 no_utf8_check
814    First char = 195
815    Need char = 'x'
816    
817    /abc/8
818        ]
819    Error -10
820        
821    Error -10
822        
823    Error -10
824        \?
825    No match
826    
827    /anything/8
828        \xc0\x80
829    Error -10
830        \xc1\x8f
831    Error -10
832        \xe0\x9f\x80
833    Error -10
834        \xf0\x8f\x80\x80
835    Error -10
836        \xf8\x87\x80\x80\x80
837    Error -10
838        \xfc\x83\x80\x80\x80\x80
839    Error -10
840        \xfe\x80\x80\x80\x80\x80
841    Error -10
842        \xff\x80\x80\x80\x80\x80
843    Error -10
844        \xc3\x8f
845    No match
846        \xe0\xaf\x80
847    No match
848        \xe1\x80\x80
849    No match
850        \xf0\x9f\x80\x80
851    No match
852        \xf1\x8f\x80\x80
853    No match
854        \xf8\x88\x80\x80\x80
855    Error -10
856        \xf9\x87\x80\x80\x80
857    Error -10
858        \xfc\x84\x80\x80\x80\x80
859    Error -10
860        \xfd\x83\x80\x80\x80\x80
861    Error -10
862        \?\xf8\x88\x80\x80\x80
863    No match
864        \?\xf9\x87\x80\x80\x80
865    No match
866        \?\xfc\x84\x80\x80\x80\x80
867    No match
868        \?\xfd\x83\x80\x80\x80\x80
869    No match
870    
871    /\x{100}abc(xyz(?1))/8DZ
872    ------------------------------------------------------------------
873            Bra
874            \x{100}abc
875            CBra 1
876            xyz
877            Once
878            Recurse
879            Ket
880            Ket
881            Ket
882            End
883    ------------------------------------------------------------------
884    Capturing subpattern count = 1
885    Options: utf8
886    First char = 196
887    Need char = 'z'
888    
889    /[^\x{100}]abc(xyz(?1))/8DZ
890    ------------------------------------------------------------------
891            Bra
892            [^\x{100}]
893            abc
894            CBra 1
895            xyz
896            Once
897            Recurse
898            Ket
899            Ket
900            Ket
901            End
902    ------------------------------------------------------------------
903    Capturing subpattern count = 1
904    Options: utf8
905    No first char
906    Need char = 'z'
907    
908    /[ab\x{100}]abc(xyz(?1))/8DZ
909    ------------------------------------------------------------------
910            Bra
911            [ab\x{100}]
912            abc
913            CBra 1
914            xyz
915            Once
916            Recurse
917            Ket
918            Ket
919            Ket
920            End
921    ------------------------------------------------------------------
922    Capturing subpattern count = 1
923    Options: utf8
924    No first char
925    Need char = 'z'
926    
927    /(\x{100}(b(?2)c))?/DZ8
928    ------------------------------------------------------------------
929            Bra
930            Brazero
931            CBra 1
932            \x{100}
933            CBra 2
934            b
935            Once
936            Recurse
937            Ket
938            c
939            Ket
940            Ket
941            Ket
942            End
943    ------------------------------------------------------------------
944    Capturing subpattern count = 2
945    Options: utf8
946    No first char
947    No need char
948    
949    /(\x{100}(b(?2)c)){0,2}/DZ8
950    ------------------------------------------------------------------
951            Bra
952            Brazero
953            Bra
954            CBra 1
955            \x{100}
956            CBra 2
957            b
958            Once
959            Recurse
960            Ket
961            c
962            Ket
963            Ket
964            Brazero
965            CBra 1
966            \x{100}
967            CBra 2
968            b
969            Once
970            Recurse
971            Ket
972            c
973            Ket
974            Ket
975            Ket
976            Ket
977            End
978    ------------------------------------------------------------------
979    Capturing subpattern count = 2
980    Options: utf8
981    No first char
982    No need char
983    
984    /(\x{100}(b(?1)c))?/DZ8
985    ------------------------------------------------------------------
986            Bra
987            Brazero
988            CBra 1
989            \x{100}
990            CBra 2
991            b
992            Once
993            Recurse
994            Ket
995            c
996            Ket
997            Ket
998            Ket
999            End
1000    ------------------------------------------------------------------
1001    Capturing subpattern count = 2
1002    Options: utf8
1003    No first char
1004    No need char
1005    
1006    /(\x{100}(b(?1)c)){0,2}/DZ8
1007    ------------------------------------------------------------------
1008            Bra
1009            Brazero
1010            Bra
1011            CBra 1
1012            \x{100}
1013            CBra 2
1014            b
1015            Once
1016            Recurse
1017            Ket
1018            c
1019            Ket
1020            Ket
1021            Brazero
1022            CBra 1
1023            \x{100}
1024            CBra 2
1025            b
1026            Once
1027            Recurse
1028            Ket
1029            c
1030            Ket
1031            Ket
1032            Ket
1033            Ket
1034            End
1035    ------------------------------------------------------------------
1036    Capturing subpattern count = 2
1037    Options: utf8
1038    No first char
1039    No need char
1040    
1041    /\W/8
1042        A.B
1043     0: .
1044        A\x{100}B
1045     0: \x{100}
1046    
1047    /\w/8
1048        \x{100}X
1049     0: X
1050    
1051    /a\x{1234}b/P8
1052        a\x{1234}b
1053     0: a\x{1234}b
1054    
1055    /^\ሴ/8DZ
1056    ------------------------------------------------------------------
1057            Bra
1058            ^
1059            \x{1234}
1060            Ket
1061            End
1062    ------------------------------------------------------------------
1063    Capturing subpattern count = 0
1064    Options: anchored utf8
1065    No first char
1066    No need char
1067    
1068    /\777/I
1069    Failed: octal value is greater than \377 (not in UTF-8 mode) at offset 3
1070    
1071    /\777/8I
1072    Capturing subpattern count = 0
1073    Options: utf8
1074    First char = 199
1075    Need char = 191
1076      \x{1ff}
1077     0: \x{1ff}
1078      \777
1079     0: \x{1ff}
1080    
1081    /\x{100}*\d/8DZ
1082    ------------------------------------------------------------------
1083            Bra
1084            \x{100}*+
1085            \d
1086            Ket
1087            End
1088    ------------------------------------------------------------------
1089    Capturing subpattern count = 0
1090    Options: utf8
1091    No first char
1092    No need char
1093    
1094    /\x{100}*\s/8DZ
1095    ------------------------------------------------------------------
1096            Bra
1097            \x{100}*+
1098            \s
1099            Ket
1100            End
1101    ------------------------------------------------------------------
1102    Capturing subpattern count = 0
1103    Options: utf8
1104    No first char
1105    No need char
1106    
1107    /\x{100}*\w/8DZ
1108    ------------------------------------------------------------------
1109            Bra
1110            \x{100}*+
1111            \w
1112            Ket
1113            End
1114    ------------------------------------------------------------------
1115    Capturing subpattern count = 0
1116    Options: utf8
1117    No first char
1118    No need char
1119    
1120    /\x{100}*\D/8DZ
1121    ------------------------------------------------------------------
1122            Bra
1123            \x{100}*
1124            \D
1125            Ket
1126            End
1127    ------------------------------------------------------------------
1128    Capturing subpattern count = 0
1129    Options: utf8
1130    No first char
1131    No need char
1132    
1133    /\x{100}*\S/8DZ
1134    ------------------------------------------------------------------
1135            Bra
1136            \x{100}*
1137            \S
1138            Ket
1139            End
1140    ------------------------------------------------------------------
1141    Capturing subpattern count = 0
1142    Options: utf8
1143    No first char
1144    No need char
1145    
1146    /\x{100}*\W/8DZ
1147    ------------------------------------------------------------------
1148            Bra
1149            \x{100}*
1150            \W
1151            Ket
1152            End
1153    ------------------------------------------------------------------
1154    Capturing subpattern count = 0
1155    Options: utf8
1156    No first char
1157    No need char
1158    
1159    /\x{100}+\x{200}/8DZ
1160    ------------------------------------------------------------------
1161            Bra
1162            \x{100}++
1163            \x{200}
1164            Ket
1165            End
1166    ------------------------------------------------------------------
1167    Capturing subpattern count = 0
1168    Options: utf8
1169    First char = 196
1170    Need char = 128
1171    
1172    /\x{100}+X/8DZ
1173    ------------------------------------------------------------------
1174            Bra
1175            \x{100}++
1176            X
1177            Ket
1178            End
1179    ------------------------------------------------------------------
1180    Capturing subpattern count = 0
1181    Options: utf8
1182    First char = 196
1183    Need char = 'X'
1184    
1185    /X+\x{200}/8DZ
1186    ------------------------------------------------------------------
1187            Bra
1188            X++
1189            \x{200}
1190            Ket
1191            End
1192    ------------------------------------------------------------------
1193    Capturing subpattern count = 0
1194    Options: utf8
1195    First char = 'X'
1196    Need char = 128
1197    
1198    /()()()()()()()()()()
1199     ()()()()()()()()()()
1200     ()()()()()()()()()()
1201     ()()()()()()()()()()
1202     A (x) (?41) B/8x
1203        AxxB
1204    Matched, but too many substrings
1205     0: AxxB
1206     1:
1207     2:
1208     3:
1209     4:
1210     5:
1211     6:
1212     7:
1213     8:
1214     9:
1215    10:
1216    11:
1217    12:
1218    13:
1219    14:
1220    
1221    /^[\x{100}\E-\Q\E\x{150}]/BZ8
1222    ------------------------------------------------------------------
1223            Bra
1224            ^
1225            [\x{100}-\x{150}]
1226            Ket
1227            End
1228    ------------------------------------------------------------------
1229    
1230    /^[\QĀ\E-\QŐ\E]/BZ8
1231    ------------------------------------------------------------------
1232            Bra
1233            ^
1234            [\x{100}-\x{150}]
1235            Ket
1236            End
1237    ------------------------------------------------------------------
1238    
1239    /^[\QĀ\E-\QŐ\E/BZ8
1240    Failed: missing terminating ] for character class at offset 15
1241    
1242    /^abc./mgx8<any>
1243        abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x{0085}abc7 \x{2028}abc8 \x{2029}abc9 JUNK
1244     0: abc1
1245     0: abc2
1246     0: abc3
1247     0: abc4
1248     0: abc5
1249     0: abc6
1250     0: abc7
1251     0: abc8
1252     0: abc9
1253    
1254    /abc.$/mgx8<any>
1255        abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x{0085} abc7\x{2028} abc8\x{2029} abc9
1256     0: abc1
1257     0: abc2
1258     0: abc3
1259     0: abc4
1260     0: abc5
1261     0: abc6
1262     0: abc7
1263     0: abc8
1264     0: abc9
1265    
1266    /^a\Rb/8<bsr_unicode>
1267        a\nb
1268     0: a\x{0a}b
1269        a\rb
1270     0: a\x{0d}b
1271        a\r\nb
1272     0: a\x{0d}\x{0a}b
1273        a\x0bb
1274     0: a\x{0b}b
1275        a\x0cb
1276     0: a\x{0c}b
1277        a\x{85}b
1278     0: a\x{85}b
1279        a\x{2028}b
1280     0: a\x{2028}b
1281        a\x{2029}b
1282     0: a\x{2029}b
1283        ** Failers
1284    No match
1285        a\n\rb
1286    No match
1287    
1288    /^a\R*b/8<bsr_unicode>
1289        ab
1290     0: ab
1291        a\nb
1292     0: a\x{0a}b
1293        a\rb
1294     0: a\x{0d}b
1295        a\r\nb
1296     0: a\x{0d}\x{0a}b
1297        a\x0bb
1298     0: a\x{0b}b
1299        a\x0c\x{2028}\x{2029}b
1300     0: a\x{0c}\x{2028}\x{2029}b
1301        a\x{85}b
1302     0: a\x{85}b
1303        a\n\rb
1304     0: a\x{0a}\x{0d}b
1305        a\n\r\x{85}\x0cb
1306     0: a\x{0a}\x{0d}\x{85}\x{0c}b
1307    
1308    /^a\R+b/8<bsr_unicode>
1309        a\nb
1310     0: a\x{0a}b
1311        a\rb
1312     0: a\x{0d}b
1313        a\r\nb
1314     0: a\x{0d}\x{0a}b
1315        a\x0bb
1316     0: a\x{0b}b
1317        a\x0c\x{2028}\x{2029}b
1318     0: a\x{0c}\x{2028}\x{2029}b
1319        a\x{85}b
1320     0: a\x{85}b
1321        a\n\rb
1322     0: a\x{0a}\x{0d}b
1323        a\n\r\x{85}\x0cb
1324     0: a\x{0a}\x{0d}\x{85}\x{0c}b
1325        ** Failers
1326    No match
1327        ab
1328    No match
1329    
1330    /^a\R{1,3}b/8<bsr_unicode>
1331        a\nb
1332     0: a\x{0a}b
1333        a\n\rb
1334     0: a\x{0a}\x{0d}b
1335        a\n\r\x{85}b
1336     0: a\x{0a}\x{0d}\x{85}b
1337        a\r\n\r\nb
1338     0: a\x{0d}\x{0a}\x{0d}\x{0a}b
1339        a\r\n\r\n\r\nb
1340     0: a\x{0d}\x{0a}\x{0d}\x{0a}\x{0d}\x{0a}b
1341        a\n\r\n\rb
1342     0: a\x{0a}\x{0d}\x{0a}\x{0d}b
1343        a\n\n\r\nb
1344     0: a\x{0a}\x{0a}\x{0d}\x{0a}b
1345        ** Failers
1346    No match
1347        a\n\n\n\rb
1348    No match
1349        a\r
1350    No match
1351    
1352    /\H\h\V\v/8
1353        X X\x0a
1354     0: X X\x{0a}
1355        X\x09X\x0b
1356     0: X\x{09}X\x{0b}
1357        ** Failers
1358  No match  No match
1359      a\x{1234}b      \x{a0} X\x0a
1360  No match  No match
1361    
1362  /a(.{3,}?)b/8  /\H*\h+\V?\v{3,4}/8
1363      a\x{1234}xyb      \x09\x20\x{a0}X\x0a\x0b\x0c\x0d\x0a
1364   0: a\x{1234}xyb   0: \x{09} \x{a0}X\x{0a}\x{0b}\x{0c}\x{0d}
1365   1: \x{1234}xy      \x09\x20\x{a0}\x0a\x0b\x0c\x0d\x0a
1366      a\x{1234}\x{4321}yb   0: \x{09} \x{a0}\x{0a}\x{0b}\x{0c}\x{0d}
1367   0: a\x{1234}\x{4321}yb      \x09\x20\x{a0}\x0a\x0b\x0c
1368   1: \x{1234}\x{4321}y   0: \x{09} \x{a0}\x{0a}\x{0b}\x{0c}
1369      a\x{1234}\x{4321}\x{3412}b      ** Failers
1370   0: a\x{1234}\x{4321}\x{3412}b  No match
1371   1: \x{1234}\x{4321}\x{3412}      \x09\x20\x{a0}\x0a\x0b
1372      axxxxbcdefghijb  No match
1373   0: axxxxb  
1374   1: xxxx  /\H\h\V\v/8
1375      a\x{1234}\x{4321}\x{3412}\x{3421}b      \x{3001}\x{3000}\x{2030}\x{2028}
1376   0: a\x{1234}\x{4321}\x{3412}\x{3421}b   0: \x{3001}\x{3000}\x{2030}\x{2028}
1377   1: \x{1234}\x{4321}\x{3412}\x{3421}      X\x{180e}X\x{85}
1378      *** Failers   0: X\x{180e}X\x{85}
1379        ** Failers
1380  No match  No match
1381      a\x{1234}b      \x{2009} X\x0a
1382  No match  No match
1383    
1384  /a(.{3,5})b/8  /\H*\h+\V?\v{3,4}/8
1385      a\x{1234}xyb      \x{1680}\x{180e}\x{2007}X\x{2028}\x{2029}\x0c\x0d\x0a
1386   0: a\x{1234}xyb   0: \x{1680}\x{180e}\x{2007}X\x{2028}\x{2029}\x{0c}\x{0d}
1387   1: \x{1234}xy      \x09\x{205f}\x{a0}\x0a\x{2029}\x0c\x{2028}\x0a
1388      a\x{1234}\x{4321}yb   0: \x{09}\x{205f}\x{a0}\x{0a}\x{2029}\x{0c}\x{2028}
1389   0: a\x{1234}\x{4321}yb      \x09\x20\x{202f}\x0a\x0b\x0c
1390   1: \x{1234}\x{4321}y   0: \x{09} \x{202f}\x{0a}\x{0b}\x{0c}
1391      a\x{1234}\x{4321}\x{3412}b      ** Failers
1392   0: a\x{1234}\x{4321}\x{3412}b  No match
1393   1: \x{1234}\x{4321}\x{3412}      \x09\x{200a}\x{a0}\x{2028}\x0b
1394      axxxxbcdefghijb  No match
1395   0: axxxxb  
1396   1: xxxx  /[\h]/8BZ
1397      a\x{1234}\x{4321}\x{3412}\x{3421}b  ------------------------------------------------------------------
1398   0: a\x{1234}\x{4321}\x{3412}\x{3421}b          Bra
1399   1: \x{1234}\x{4321}\x{3412}\x{3421}          [\x09 \xa0\x{1680}\x{180e}\x{2000}-\x{200a}\x{202f}\x{205f}\x{3000}]
1400      axbxxbcdefghijb          Ket
1401   0: axbxxb          End
1402   1: xbxx  ------------------------------------------------------------------
1403      axxxxxbcdefghijb      >\x{1680}
1404   0: axxxxxb   0: \x{1680}
1405   1: xxxxx  
1406      *** Failers  /[\h]{3,}/8BZ
1407    ------------------------------------------------------------------
1408            Bra
1409            [\x09 \xa0\x{1680}\x{180e}\x{2000}-\x{200a}\x{202f}\x{205f}\x{3000}]{3,}
1410            Ket
1411            End
1412    ------------------------------------------------------------------
1413        >\x{1680}\x{180e}\x{2000}\x{2003}\x{200a}\x{202f}\x{205f}\x{3000}<
1414     0: \x{1680}\x{180e}\x{2000}\x{2003}\x{200a}\x{202f}\x{205f}\x{3000}
1415    
1416    /[\v]/8BZ
1417    ------------------------------------------------------------------
1418            Bra
1419            [\x0a-\x0d\x85\x{2028}-\x{2029}]
1420            Ket
1421            End
1422    ------------------------------------------------------------------
1423    
1424    /[\H]/8BZ
1425    ------------------------------------------------------------------
1426            Bra
1427            [\x00-\x08\x0a-\x1f!-\x9f\xa1-\xff\x{100}-\x{167f}\x{1681}-\x{180d}\x{180f}-\x{1fff}\x{200b}-\x{202e}\x{2030}-\x{205e}\x{2060}-\x{2fff}\x{3001}-\x{7fffffff}]
1428            Ket
1429            End
1430    ------------------------------------------------------------------
1431    
1432    /[\V]/8BZ
1433    ------------------------------------------------------------------
1434            Bra
1435            [\x00-\x09\x0e-\x84\x86-\xff\x{100}-\x{2027}\x{2029}-\x{7fffffff}]
1436            Ket
1437            End
1438    ------------------------------------------------------------------
1439    
1440    /.*$/8<any>
1441        \x{1ec5}
1442     0: \x{1ec5}
1443    
1444    /-- This tests the stricter UTF-8 check according to RFC 3629. --/
1445    
1446    /X/8
1447        \x{0}\x{d7ff}\x{e000}\x{10ffff}
1448  No match  No match
1449      a\x{1234}b      \x{d800}
1450    Error -10
1451        \x{d800}\?
1452    No match
1453        \x{da00}
1454    Error -10
1455        \x{da00}\?
1456    No match
1457        \x{dfff}
1458    Error -10
1459        \x{dfff}\?
1460    No match
1461        \x{110000}
1462    Error -10
1463        \x{110000}\?
1464    No match
1465        \x{2000000}
1466    Error -10
1467        \x{2000000}\?
1468    No match
1469        \x{7fffffff}
1470    Error -10
1471        \x{7fffffff}\?
1472    No match
1473    
1474    /a\Rb/I8<bsr_anycrlf>
1475    Capturing subpattern count = 0
1476    Options: bsr_anycrlf utf8
1477    First char = 'a'
1478    Need char = 'b'
1479        a\rb
1480     0: a\x{0d}b
1481        a\nb
1482     0: a\x{0a}b
1483        a\r\nb
1484     0: a\x{0d}\x{0a}b
1485        ** Failers
1486    No match
1487        a\x{85}b
1488    No match
1489        a\x0bb
1490    No match
1491    
1492    /a\Rb/I8<bsr_unicode>
1493    Capturing subpattern count = 0
1494    Options: bsr_unicode utf8
1495    First char = 'a'
1496    Need char = 'b'
1497        a\rb
1498     0: a\x{0d}b
1499        a\nb
1500     0: a\x{0a}b
1501        a\r\nb
1502     0: a\x{0d}\x{0a}b
1503        a\x{85}b
1504     0: a\x{85}b
1505        a\x0bb
1506     0: a\x{0b}b
1507        ** Failers
1508  No match  No match
1509      axxxxxxbcdefghijb      a\x{85}b\<bsr_anycrlf>
1510  No match  No match
1511        a\x0bb\<bsr_anycrlf>
 /a(.{3,5}?)b/8  
     a\x{1234}xyb  
  0: a\x{1234}xyb  
  1: \x{1234}xy  
     a\x{1234}\x{4321}yb  
  0: a\x{1234}\x{4321}yb  
  1: \x{1234}\x{4321}y  
     a\x{1234}\x{4321}\x{3412}b  
  0: a\x{1234}\x{4321}\x{3412}b  
  1: \x{1234}\x{4321}\x{3412}  
     axxxxbcdefghijb  
  0: axxxxb  
  1: xxxx  
     a\x{1234}\x{4321}\x{3412}\x{3421}b  
  0: a\x{1234}\x{4321}\x{3412}\x{3421}b  
  1: \x{1234}\x{4321}\x{3412}\x{3421}  
     axbxxbcdefghijb  
  0: axbxxb  
  1: xbxx  
     axxxxxbcdefghijb  
  0: axxxxxb  
  1: xxxxx  
     *** Failers  
1512  No match  No match
1513      a\x{1234}b  
1514    /a\R?b/I8<bsr_anycrlf>
1515    Capturing subpattern count = 0
1516    Options: bsr_anycrlf utf8
1517    First char = 'a'
1518    Need char = 'b'
1519        a\rb
1520     0: a\x{0d}b
1521        a\nb
1522     0: a\x{0a}b
1523        a\r\nb
1524     0: a\x{0d}\x{0a}b
1525        ** Failers
1526    No match
1527        a\x{85}b
1528    No match
1529        a\x0bb
1530    No match
1531    
1532    /a\R?b/I8<bsr_unicode>
1533    Capturing subpattern count = 0
1534    Options: bsr_unicode utf8
1535    First char = 'a'
1536    Need char = 'b'
1537        a\rb
1538     0: a\x{0d}b
1539        a\nb
1540     0: a\x{0a}b
1541        a\r\nb
1542     0: a\x{0d}\x{0a}b
1543        a\x{85}b
1544     0: a\x{85}b
1545        a\x0bb
1546     0: a\x{0b}b
1547        ** Failers
1548    No match
1549        a\x{85}b\<bsr_anycrlf>
1550    No match
1551        a\x0bb\<bsr_anycrlf>
1552    No match
1553    
1554    /.*a.*=.b.*/8<ANY>
1555        QQQ\x{2029}ABCaXYZ=!bPQR
1556     0: ABCaXYZ=!bPQR
1557        ** Failers
1558    No match
1559        a\x{2029}b
1560    No match
1561        \x61\xe2\x80\xa9\x62
1562    No match
1563    
1564    /[[:a\x{100}b:]]/8
1565    Failed: unknown POSIX class name at offset 3
1566    
1567    /a[^]b/<JS>8
1568        a\x{1234}b
1569     0: a\x{1234}b
1570        a\nb
1571     0: a\x{0a}b
1572        ** Failers
1573  No match  No match
1574      axxxxxxbcdefghijb      ab
1575  No match  No match
1576    
1577  /^[a\x{c0}]/8  /a[^]+b/<JS>8
1578      *** Failers      aXb
1579     0: aXb
1580        a\nX\nX\x{1234}b
1581     0: a\x{0a}X\x{0a}X\x{1234}b
1582        ** Failers
1583    No match
1584        ab
1585    No match
1586    
1587    /(\x{de})\1/
1588        \x{de}\x{de}
1589     0: \xde\xde
1590     1: \xde
1591        \x{123}
1592    ** Character \x{123} is greater than 255 and UTF-8 mode is not enabled.
1593    ** Truncation will probably give the wrong result.
1594    No match
1595    
1596    /X/8f<any>
1597        A\x{1ec5}ABCXYZ
1598     0: X
1599    
1600    /(*UTF8)\x{1234}/
1601      abcd\x{1234}pqr
1602     0: \x{1234}
1603    
1604    /(*CRLF)(*UTF8)(*BSR_UNICODE)a\Rb/I
1605    Capturing subpattern count = 0
1606    Options: bsr_unicode utf8
1607    Forced newline sequence: CRLF
1608    First char = 'a'
1609    Need char = 'b'
1610    
1611    /Xa{2,4}b/8
1612        X\P
1613    Partial match: X
1614        Xa\P
1615    Partial match: Xa
1616        Xaa\P
1617    Partial match: Xaa
1618        Xaaa\P
1619    Partial match: Xaaa
1620        Xaaaa\P
1621    Partial match: Xaaaa
1622    
1623    /Xa{2,4}?b/8
1624        X\P
1625    Partial match: X
1626        Xa\P
1627    Partial match: Xa
1628        Xaa\P
1629    Partial match: Xaa
1630        Xaaa\P
1631    Partial match: Xaaa
1632        Xaaaa\P
1633    Partial match: Xaaaa
1634    
1635    /Xa{2,4}+b/8
1636        X\P
1637    Partial match: X
1638        Xa\P
1639    Partial match: Xa
1640        Xaa\P
1641    Partial match: Xaa
1642        Xaaa\P
1643    Partial match: Xaaa
1644        Xaaaa\P
1645    Partial match: Xaaaa
1646    
1647    /X\x{123}{2,4}b/8
1648        X\P
1649    Partial match: X
1650        X\x{123}\P
1651    Partial match: X\x{123}
1652        X\x{123}\x{123}\P
1653    Partial match: X\x{123}\x{123}
1654        X\x{123}\x{123}\x{123}\P
1655    Partial match: X\x{123}\x{123}\x{123}
1656        X\x{123}\x{123}\x{123}\x{123}\P
1657    Partial match: X\x{123}\x{123}\x{123}\x{123}
1658    
1659    /X\x{123}{2,4}?b/8
1660        X\P
1661    Partial match: X
1662        X\x{123}\P
1663    Partial match: X\x{123}
1664        X\x{123}\x{123}\P
1665    Partial match: X\x{123}\x{123}
1666        X\x{123}\x{123}\x{123}\P
1667    Partial match: X\x{123}\x{123}\x{123}
1668        X\x{123}\x{123}\x{123}\x{123}\P
1669    Partial match: X\x{123}\x{123}\x{123}\x{123}
1670    
1671    /X\x{123}{2,4}+b/8
1672        X\P
1673    Partial match: X
1674        X\x{123}\P
1675    Partial match: X\x{123}
1676        X\x{123}\x{123}\P
1677    Partial match: X\x{123}\x{123}
1678        X\x{123}\x{123}\x{123}\P
1679    Partial match: X\x{123}\x{123}\x{123}
1680        X\x{123}\x{123}\x{123}\x{123}\P
1681    Partial match: X\x{123}\x{123}\x{123}\x{123}
1682    
1683    /X\x{123}{2,4}b/8
1684        Xx\P
1685  No match  No match
1686      \x{100}      X\x{123}x\P
1687  No match  No match
1688        X\x{123}\x{123}x\P
 /(?<=aXb)cd/8  
     aXbcd  
  0: cd  
   
 /(?<=a\x{100}b)cd/8  
     a\x{100}bcd  
  0: cd  
   
 /(?<=a\x{100000}b)cd/8  
     a\x{100000}bcd  
  0: cd  
   
 /(?:\x{100}){3}b/8  
     \x{100}\x{100}\x{100}b  
  0: \x{100}\x{100}\x{100}b  
     *** Failers  
1689  No match  No match
1690      \x{100}\x{100}b      X\x{123}\x{123}\x{123}x\P
1691  No match  No match
1692        X\x{123}\x{123}\x{123}\x{123}x\P
1693    No match
1694    
1695    /X\x{123}{2,4}?b/8
1696        Xx\P
1697    No match
1698        X\x{123}x\P
1699    No match
1700        X\x{123}\x{123}x\P
1701    No match
1702        X\x{123}\x{123}\x{123}x\P
1703    No match
1704        X\x{123}\x{123}\x{123}\x{123}x\P
1705    No match
1706    
1707    /X\x{123}{2,4}+b/8
1708        Xx\P
1709    No match
1710        X\x{123}x\P
1711    No match
1712        X\x{123}\x{123}x\P
1713    No match
1714        X\x{123}\x{123}\x{123}x\P
1715    No match
1716        X\x{123}\x{123}\x{123}\x{123}x\P
1717    No match
1718    
1719    /X\d{2,4}b/8
1720        X\P
1721    Partial match: X
1722        X3\P
1723    Partial match: X3
1724        X33\P
1725    Partial match: X33
1726        X333\P
1727    Partial match: X333
1728        X3333\P
1729    Partial match: X3333
1730    
1731    /X\d{2,4}?b/8
1732        X\P
1733    Partial match: X
1734        X3\P
1735    Partial match: X3
1736        X33\P
1737    Partial match: X33
1738        X333\P
1739    Partial match: X333
1740        X3333\P
1741    Partial match: X3333
1742    
1743    /X\d{2,4}+b/8
1744        X\P
1745    Partial match: X
1746        X3\P
1747    Partial match: X3
1748        X33\P
1749    Partial match: X33
1750        X333\P
1751    Partial match: X333
1752        X3333\P
1753    Partial match: X3333
1754    
1755    /X\D{2,4}b/8
1756        X\P
1757    Partial match: X
1758        Xa\P
1759    Partial match: Xa
1760        Xaa\P
1761    Partial match: Xaa
1762        Xaaa\P
1763    Partial match: Xaaa
1764        Xaaaa\P
1765    Partial match: Xaaaa
1766    
1767    /X\D{2,4}?b/8
1768        X\P
1769    Partial match: X
1770        Xa\P
1771    Partial match: Xa
1772        Xaa\P
1773    Partial match: Xaa
1774        Xaaa\P
1775    Partial match: Xaaa
1776        Xaaaa\P
1777    Partial match: Xaaaa
1778    
1779    /X\D{2,4}+b/8
1780        X\P
1781    Partial match: X
1782        Xa\P
1783    Partial match: Xa
1784        Xaa\P
1785    Partial match: Xaa
1786        Xaaa\P
1787    Partial match: Xaaa
1788        Xaaaa\P
1789    Partial match: Xaaaa
1790    
1791    /X\D{2,4}b/8
1792        X\P
1793    Partial match: X
1794        X\x{123}\P
1795    Partial match: X\x{123}
1796        X\x{123}\x{123}\P
1797    Partial match: X\x{123}\x{123}
1798        X\x{123}\x{123}\x{123}\P
1799    Partial match: X\x{123}\x{123}\x{123}
1800        X\x{123}\x{123}\x{123}\x{123}\P
1801    Partial match: X\x{123}\x{123}\x{123}\x{123}
1802    
1803    /X\D{2,4}?b/8
1804        X\P
1805    Partial match: X
1806        X\x{123}\P
1807    Partial match: X\x{123}
1808        X\x{123}\x{123}\P
1809    Partial match: X\x{123}\x{123}
1810        X\x{123}\x{123}\x{123}\P
1811    Partial match: X\x{123}\x{123}\x{123}
1812        X\x{123}\x{123}\x{123}\x{123}\P
1813    Partial match: X\x{123}\x{123}\x{123}\x{123}
1814    
1815    /X\D{2,4}+b/8
1816        X\P
1817    Partial match: X
1818        X\x{123}\P
1819    Partial match: X\x{123}
1820        X\x{123}\x{123}\P
1821    Partial match: X\x{123}\x{123}
1822        X\x{123}\x{123}\x{123}\P
1823    Partial match: X\x{123}\x{123}\x{123}
1824        X\x{123}\x{123}\x{123}\x{123}\P
1825    Partial match: X\x{123}\x{123}\x{123}\x{123}
1826    
1827    /X[abc]{2,4}b/8
1828        X\P
1829    Partial match: X
1830        Xa\P
1831    Partial match: Xa
1832        Xaa\P
1833    Partial match: Xaa
1834        Xaaa\P
1835    Partial match: Xaaa
1836        Xaaaa\P
1837    Partial match: Xaaaa
1838    
1839    /X[abc]{2,4}?b/8
1840        X\P
1841    Partial match: X
1842        Xa\P
1843    Partial match: Xa
1844        Xaa\P
1845    Partial match: Xaa
1846        Xaaa\P
1847    Partial match: Xaaa
1848        Xaaaa\P
1849    Partial match: Xaaaa
1850    
1851    /X[abc]{2,4}+b/8
1852        X\P
1853    Partial match: X
1854        Xa\P
1855    Partial match: Xa
1856        Xaa\P
1857    Partial match: Xaa
1858        Xaaa\P
1859    Partial match: Xaaa
1860        Xaaaa\P
1861    Partial match: Xaaaa
1862    
1863    /X[abc\x{123}]{2,4}b/8
1864        X\P
1865    Partial match: X
1866        X\x{123}\P
1867    Partial match: X\x{123}
1868        X\x{123}\x{123}\P
1869    Partial match: X\x{123}\x{123}
1870        X\x{123}\x{123}\x{123}\P
1871    Partial match: X\x{123}\x{123}\x{123}
1872        X\x{123}\x{123}\x{123}\x{123}\P
1873    Partial match: X\x{123}\x{123}\x{123}\x{123}
1874    
1875    /X[abc\x{123}]{2,4}?b/8
1876        X\P
1877    Partial match: X
1878        X\x{123}\P
1879    Partial match: X\x{123}
1880        X\x{123}\x{123}\P
1881    Partial match: X\x{123}\x{123}
1882        X\x{123}\x{123}\x{123}\P
1883    Partial match: X\x{123}\x{123}\x{123}
1884        X\x{123}\x{123}\x{123}\x{123}\P
1885    Partial match: X\x{123}\x{123}\x{123}\x{123}
1886    
1887    /X[abc\x{123}]{2,4}+b/8
1888        X\P
1889    Partial match: X
1890        X\x{123}\P
1891    Partial match: X\x{123}
1892        X\x{123}\x{123}\P
1893    Partial match: X\x{123}\x{123}
1894        X\x{123}\x{123}\x{123}\P
1895    Partial match: X\x{123}\x{123}\x{123}
1896        X\x{123}\x{123}\x{123}\x{123}\P
1897    Partial match: X\x{123}\x{123}\x{123}\x{123}
1898    
1899    /X[^a]{2,4}b/8
1900        X\P
1901    Partial match: X
1902        Xz\P
1903    Partial match: Xz
1904        Xzz\P
1905    Partial match: Xzz
1906        Xzzz\P
1907    Partial match: Xzzz
1908        Xzzzz\P
1909    Partial match: Xzzzz
1910    
1911    /X[^a]{2,4}?b/8
1912        X\P
1913    Partial match: X
1914        Xz\P
1915    Partial match: Xz
1916        Xzz\P
1917    Partial match: Xzz
1918        Xzzz\P
1919    Partial match: Xzzz
1920        Xzzzz\P
1921    Partial match: Xzzzz
1922    
1923    /X[^a]{2,4}+b/8
1924        X\P
1925    Partial match: X
1926        Xz\P
1927    Partial match: Xz
1928        Xzz\P
1929    Partial match: Xzz
1930        Xzzz\P
1931    Partial match: Xzzz
1932        Xzzzz\P
1933    Partial match: Xzzzz
1934    
1935    /X[^a]{2,4}b/8
1936        X\P
1937    Partial match: X
1938        X\x{123}\P
1939    Partial match: X\x{123}
1940        X\x{123}\x{123}\P
1941    Partial match: X\x{123}\x{123}
1942        X\x{123}\x{123}\x{123}\P
1943    Partial match: X\x{123}\x{123}\x{123}
1944        X\x{123}\x{123}\x{123}\x{123}\P
1945    Partial match: X\x{123}\x{123}\x{123}\x{123}
1946    
1947    /X[^a]{2,4}?b/8
1948        X\P
1949    Partial match: X
1950        X\x{123}\P
1951    Partial match: X\x{123}
1952        X\x{123}\x{123}\P
1953    Partial match: X\x{123}\x{123}
1954        X\x{123}\x{123}\x{123}\P
1955    Partial match: X\x{123}\x{123}\x{123}
1956        X\x{123}\x{123}\x{123}\x{123}\P
1957    Partial match: X\x{123}\x{123}\x{123}\x{123}
1958    
1959    /X[^a]{2,4}+b/8
1960        X\P
1961    Partial match: X
1962        X\x{123}\P
1963    Partial match: X\x{123}
1964        X\x{123}\x{123}\P
1965    Partial match: X\x{123}\x{123}
1966        X\x{123}\x{123}\x{123}\P
1967    Partial match: X\x{123}\x{123}\x{123}
1968        X\x{123}\x{123}\x{123}\x{123}\P
1969    Partial match: X\x{123}\x{123}\x{123}\x{123}
1970    
1971    /(Y)X\1{2,4}b/8
1972        YX\P
1973    Partial match: YX
1974        YXY\P
1975    Partial match: YXY
1976        YXYY\P
1977    Partial match: YXYY
1978        YXYYY\P
1979    Partial match: YXYYY
1980        YXYYYY\P
1981    Partial match: YXYYYY
1982    
1983    /(Y)X\1{2,4}?b/8
1984        YX\P
1985    Partial match: YX
1986        YXY\P
1987    Partial match: YXY
1988        YXYY\P
1989    Partial match: YXYY
1990        YXYYY\P
1991    Partial match: YXYYY
1992        YXYYYY\P
1993    Partial match: YXYYYY
1994    
1995    /(Y)X\1{2,4}+b/8
1996        YX\P
1997    Partial match: YX
1998        YXY\P
1999    Partial match: YXY
2000        YXYY\P
2001    Partial match: YXYY
2002        YXYYY\P
2003    Partial match: YXYYY
2004        YXYYYY\P
2005    Partial match: YXYYYY
2006    
2007    /(\x{123})X\1{2,4}b/8
2008        \x{123}X\P
2009    Partial match: \x{123}X
2010        \x{123}X\x{123}\P
2011    Partial match: \x{123}X\x{123}
2012        \x{123}X\x{123}\x{123}\P
2013    Partial match: \x{123}X\x{123}\x{123}
2014        \x{123}X\x{123}\x{123}\x{123}\P
2015    Partial match: \x{123}X\x{123}\x{123}\x{123}
2016        \x{123}X\x{123}\x{123}\x{123}\x{123}\P
2017    Partial match: \x{123}X\x{123}\x{123}\x{123}\x{123}
2018    
2019    /(\x{123})X\1{2,4}?b/8
2020        \x{123}X\P
2021    Partial match: \x{123}X
2022        \x{123}X\x{123}\P
2023    Partial match: \x{123}X\x{123}
2024        \x{123}X\x{123}\x{123}\P
2025    Partial match: \x{123}X\x{123}\x{123}
2026        \x{123}X\x{123}\x{123}\x{123}\P
2027    Partial match: \x{123}X\x{123}\x{123}\x{123}
2028        \x{123}X\x{123}\x{123}\x{123}\x{123}\P
2029    Partial match: \x{123}X\x{123}\x{123}\x{123}\x{123}
2030    
2031    /(\x{123})X\1{2,4}+b/8
2032        \x{123}X\P
2033    Partial match: \x{123}X
2034        \x{123}X\x{123}\P
2035    Partial match: \x{123}X\x{123}
2036        \x{123}X\x{123}\x{123}\P
2037    Partial match: \x{123}X\x{123}\x{123}
2038        \x{123}X\x{123}\x{123}\x{123}\P
2039    Partial match: \x{123}X\x{123}\x{123}\x{123}
2040        \x{123}X\x{123}\x{123}\x{123}\x{123}\P
2041    Partial match: \x{123}X\x{123}\x{123}\x{123}\x{123}
2042    
2043    /\bthe cat\b/8
2044        the cat\P
2045     0: the cat
2046        the cat\P\P
2047    Partial match: the cat
2048    
2049    /abcd*/8
2050        xxxxabcd\P
2051     0: abcd
2052        xxxxabcd\P\P
2053    Partial match: abcd
2054    
2055    /abcd*/i8
2056        xxxxabcd\P
2057     0: abcd
2058        xxxxabcd\P\P
2059    Partial match: abcd
2060        XXXXABCD\P
2061     0: ABCD
2062        XXXXABCD\P\P
2063    Partial match: ABCD
2064    
2065    /abc\d*/8
2066        xxxxabc1\P
2067     0: abc1
2068        xxxxabc1\P\P
2069    Partial match: abc1
2070    
2071    /(a)bc\1*/8
2072        xxxxabca\P
2073     0: abca
2074     1: a
2075        xxxxabca\P\P
2076    Partial match: abca
2077    
2078    /abc[de]*/8
2079        xxxxabcde\P
2080     0: abcde
2081        xxxxabcde\P\P
2082    Partial match: abcde
2083    
2084    /X\W{3}X/8
2085        \PX
2086    Partial match: X
2087    
2088    /\h/SI
2089    Capturing subpattern count = 0
2090    No options
2091    No first char
2092    No need char
2093    Subject length lower bound = 1
2094    Starting byte set: \x09 \x20 \xa0
2095    
2096    /\h/SI8
2097    Capturing subpattern count = 0
2098    Options: utf8
2099    No first char
2100    No need char
2101    Subject length lower bound = 1
2102    Starting byte set: \x09 \x20 \xc2 \xe1 \xe2 \xe3
2103        ABC\x{09}
2104     0: \x{09}
2105        ABC\x{20}
2106     0:
2107        ABC\x{a0}
2108     0: \x{a0}
2109        ABC\x{1680}
2110     0: \x{1680}
2111        ABC\x{180e}
2112     0: \x{180e}
2113        ABC\x{2000}
2114     0: \x{2000}
2115        ABC\x{202f}
2116     0: \x{202f}
2117        ABC\x{205f}
2118     0: \x{205f}
2119        ABC\x{3000}
2120     0: \x{3000}
2121    
2122    /\v/SI
2123    Capturing subpattern count = 0
2124    No options
2125    No first char
2126    No need char
2127    Subject length lower bound = 1
2128    Starting byte set: \x0a \x0b \x0c \x0d \x85
2129    
2130    /\v/SI8
2131    Capturing subpattern count = 0
2132    Options: utf8
2133    No first char
2134    No need char
2135    Subject length lower bound = 1
2136    Starting byte set: \x0a \x0b \x0c \x0d \xc2 \xe2
2137        ABC\x{0a}
2138     0: \x{0a}
2139        ABC\x{0b}
2140     0: \x{0b}
2141        ABC\x{0c}
2142     0: \x{0c}
2143        ABC\x{0d}
2144     0: \x{0d}
2145        ABC\x{85}
2146     0: \x{85}
2147        ABC\x{2028}
2148     0: \x{2028}
2149    
2150    /\R/SI
2151    Capturing subpattern count = 0
2152    No options
2153    No first char
2154    No need char
2155    Subject length lower bound = 2
2156    Starting byte set: \x0a \x0b \x0c \x0d \x85
2157    
2158    /\R/SI8
2159    Capturing subpattern count = 0
2160    Options: utf8
2161    No first char
2162    No need char
2163    Subject length lower bound = 2
2164    Starting byte set: \x0a \x0b \x0c \x0d \xc2 \xe2
2165    
2166    /\h*A/SI8
2167    Capturing subpattern count = 0
2168    Options: utf8
2169    No first char
2170    Need char = 'A'
2171    Subject length lower bound = 1
2172    Starting byte set: \x09 \x20 A \xc2 \xe1 \xe2 \xe3
2173        CDBABC
2174     0: A
2175    
2176    /\v+A/SI8
2177    Capturing subpattern count = 0
2178    Options: utf8
2179    No first char
2180    Need char = 'A'
2181    Subject length lower bound = 2
2182    Starting byte set: \x0a \x0b \x0c \x0d \xc2 \xe2
2183    
2184    /\s?xxx\s/8SI
2185    Capturing subpattern count = 0
2186    Options: utf8
2187    No first char
2188    Need char = 'x'
2189    Subject length lower bound = 4
2190    Starting byte set: \x09 \x0a \x0c \x0d \x20 x
2191    
2192    /\sxxx\s/8T1
2193        AB\x{85}xxx\x{a0}XYZ
2194     0: \x{85}xxx\x{a0}
2195        AB\x{a0}xxx\x{85}XYZ
2196     0: \x{a0}xxx\x{85}
2197    
2198    /\sxxx\s/I8ST1
2199    Capturing subpattern count = 0
2200    Options: utf8
2201    No first char
2202    Need char = 'x'
2203    Subject length lower bound = 5
2204    Starting byte set: \x09 \x0a \x0c \x0d \x20 \xc2
2205        AB\x{85}xxx\x{a0}XYZ
2206     0: \x{85}xxx\x{a0}
2207        AB\x{a0}xxx\x{85}XYZ
2208     0: \x{a0}xxx\x{85}
2209    
2210    /\S \S/8T1
2211        \x{a2} \x{84}
2212     0: \x{a2} \x{84}
2213    
2214    /\S \S/I8ST1
2215    Capturing subpattern count = 0
2216    Options: utf8
2217    No first char
2218    Need char = ' '
2219    Subject length lower bound = 3
2220    Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x0b \x0e
2221      \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 \x1a \x1b \x1c \x1d
2222      \x1e \x1f ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @
2223      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
2224      f g h i j k l m n o p q r s t u v w x y z { | } ~ \x7f \xc0 \xc1 \xc2 \xc3
2225      \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce \xcf \xd0 \xd1 \xd2
2226      \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd \xde \xdf \xe0 \xe1
2227      \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec \xed \xee \xef \xf0
2228      \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb \xfc \xfd \xfe \xff
2229        \x{a2} \x{84}
2230     0: \x{a2} \x{84}
2231        A Z
2232     0: A Z
2233    
2234    'A#хц'8x<any>BZ
2235    ------------------------------------------------------------------
2236            Bra
2237            A
2238            Ket
2239            End
2240    ------------------------------------------------------------------
2241    
2242    'A#хц
2243      PQ'8x<any>BZ
2244    ------------------------------------------------------------------
2245            Bra
2246            APQ
2247            Ket
2248            End
2249    ------------------------------------------------------------------
2250    
2251    /a+#хaa
2252      z#XX?/8x<any>BZ
2253    ------------------------------------------------------------------
2254            Bra
2255            a++
2256            z
2257            Ket
2258            End
2259    ------------------------------------------------------------------
2260    
2261    /a+#хaa
2262      z#х?/8x<any>BZ
2263    ------------------------------------------------------------------
2264            Bra
2265            a++
2266            z
2267            Ket
2268            End
2269    ------------------------------------------------------------------
2270    
2271    /\g{A}xxx#bXX(?'A'123) (?'A'456)/8x<any>BZ
2272    ------------------------------------------------------------------
2273            Bra
2274            \1
2275            xxx
2276            CBra 1
2277            456
2278            Ket
2279            Ket
2280            End
2281    ------------------------------------------------------------------
2282    
2283    /\g{A}xxx#bх(?'A'123) (?'A'456)/8x<any>BZ
2284    ------------------------------------------------------------------
2285            Bra
2286            \1
2287            xxx
2288            CBra 1
2289            456
2290            Ket
2291            Ket
2292            End
2293    ------------------------------------------------------------------
2294    
2295  / End of testinput5 /  /-- End of testinput5 --/
   

Legend:
Removed from v.51  
changed lines
  Added in v.560

  ViewVC Help
Powered by ViewVC 1.1.5