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

Legend:
Removed from v.71  
changed lines
  Added in v.600

  ViewVC Help
Powered by ViewVC 1.1.5