/[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 652 by ph10, Mon Aug 1 16:42:03 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          Recurse
603   10  10 Ket          Ket
604   13     End          End
605  ------------------------------------------------------------------  ------------------------------------------------------------------
606  Capturing subpattern count = 0  Capturing subpattern count = 0
607  Options: utf8  Options: utf8
608  No first char  No first char
609  No need char  No need char
610    
611  /[^\x{c4}]/D  /[^\x{c4}]/DZ
612  ------------------------------------------------------------------  ------------------------------------------------------------------
613    0  36 Bra 0          Bra
614    3     [\x01-35-bd-z|~-\xff] (neg)          [^\xc4]
615   36  36 Ket          Ket
616   39     End          End
617  ------------------------------------------------------------------  ------------------------------------------------------------------
618  Capturing subpattern count = 0  Capturing subpattern count = 0
619  No options  No options
620  No first char  No first char
621  No need char  No need char
622    
623  /[^\x{c4}]/8D  /[^\x{c4}]/8DZ
624  ------------------------------------------------------------------  ------------------------------------------------------------------
625    0  36 Bra 0          Bra
626    3     [\x00-\xc3\xc5-\xff] (neg)          [\x00-\xc3\xc5-\xff] (neg)
627   36  36 Ket          Ket
628   39     End          End
629  ------------------------------------------------------------------  ------------------------------------------------------------------
630  Capturing subpattern count = 0  Capturing subpattern count = 0
631  Options: utf8  Options: utf8
632  No first char  No first char
633  No need char  No need char
634    
635  /[\x{100}]/8DM  /[\x{100}]/8DZ
 Memory allocation (code space): 47  
636  ------------------------------------------------------------------  ------------------------------------------------------------------
637    0  11 Bra 0          Bra
638    3     [\x{100}]          [\x{100}]
639   11  11 Ket          Ket
640   14     End          End
641  ------------------------------------------------------------------  ------------------------------------------------------------------
642  Capturing subpattern count = 0  Capturing subpattern count = 0
643  Options: utf8  Options: utf8
# Line 689  No need char Line 652  No need char
652      *** Failers      *** Failers
653  No match  No match
654    
655  /[Z\x{100}]/8DM  /[Z\x{100}]/8DZ
 Memory allocation (code space): 47  
656  ------------------------------------------------------------------  ------------------------------------------------------------------
657    0  43 Bra 0          Bra
658    3     [Z\x{100}]          [Z\x{100}]
659   43  43 Ket          Ket
660   46     End          End
661  ------------------------------------------------------------------  ------------------------------------------------------------------
662  Capturing subpattern count = 0  Capturing subpattern count = 0
663  Options: utf8  Options: utf8
# Line 725  No match Line 687  No match
687      \x{ff}      \x{ff}
688  No match  No match
689    
690  /[z-\x{100}]/8D  /[z-\x{100}]/8DZ
691  ------------------------------------------------------------------  ------------------------------------------------------------------
692    0  12 Bra 0          Bra
693    3     [z-\x{100}]          [z-\x{100}]
694   12  12 Ket          Ket
695   15     End          End
696  ------------------------------------------------------------------  ------------------------------------------------------------------
697  Capturing subpattern count = 0  Capturing subpattern count = 0
698  Options: utf8  Options: utf8
699  No first char  No first char
700  No need char  No need char
701    
702  /[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  
703  ------------------------------------------------------------------  ------------------------------------------------------------------
704    0  43 Bra 0          Bra
705    3     [\-\]adz\x{100}]          [\-\]adz\x{100}]
706   43  43 Ket          Ket
707   46     End          End
708  ------------------------------------------------------------------  ------------------------------------------------------------------
709  Capturing subpattern count = 0  Capturing subpattern count = 0
710  Options: utf8  Options: utf8
# Line 765  No need char Line 715  No need char
715      Ā      Ā
716   0: \x{100}   0: \x{100}
717    
718  /[\xFF]/D  /[\xFF]/DZ
719  ------------------------------------------------------------------  ------------------------------------------------------------------
720    0   6 Bra 0          Bra
721    3   1 \xff          \xff
722    6   6 Ket          Ket
723    9     End          End
724  ------------------------------------------------------------------  ------------------------------------------------------------------
725  Capturing subpattern count = 0  Capturing subpattern count = 0
726  No options  No options
# Line 779  No need char Line 729  No need char
729      >\xff<      >\xff<
730   0: \xff   0: \xff
731    
732  /[\xff]/D8  /[\xff]/DZ8
733  ------------------------------------------------------------------  ------------------------------------------------------------------
734    0  36 Bra 0          Bra
735    3     [\xff]          \x{ff}
736   36  36 Ket          Ket
737   39     End          End
738  ------------------------------------------------------------------  ------------------------------------------------------------------
739  Capturing subpattern count = 0  Capturing subpattern count = 0
740  Options: utf8  Options: utf8
741  No first char  First char = 195
742  No need char  Need char = 191
743      >\x{ff}<      >\x{ff}<
744   0: \x{ff}   0: \x{ff}
745    
746  /[^\xFF]/D  /[^\xFF]/DZ
747  ------------------------------------------------------------------  ------------------------------------------------------------------
748    0   5 Bra 0          Bra
749    3     [^\xff]          [^\xff]
750    5   5 Ket          Ket
751    8     End          End
752  ------------------------------------------------------------------  ------------------------------------------------------------------
753  Capturing subpattern count = 0  Capturing subpattern count = 0
754  No options  No options
755  No first char  No first char
756  No need char  No need char
757    
758  /[^\xff]/8D  /[^\xff]/8DZ
759  ------------------------------------------------------------------  ------------------------------------------------------------------
760    0  36 Bra 0          Bra
761    3     [\x00-\xfe] (neg)          [\x00-\xfe] (neg)
762   36  36 Ket          Ket
763   39     End          End
764  ------------------------------------------------------------------  ------------------------------------------------------------------
765  Capturing subpattern count = 0  Capturing subpattern count = 0
766  Options: utf8  Options: utf8
# Line 842  No need char Line 792  No need char
792   0: \x{d6}   0: \x{d6}
793    
794  /[]/8  /[]/8
795  Failed: invalid UTF-8 string at offset 2  Failed: invalid UTF-8 string at offset 1
796    
797  //8  //8
798  Failed: invalid UTF-8 string at offset 0  Failed: invalid UTF-8 string at offset 0
799    
800  /xxx/8  /xxx/8
801  Failed: invalid UTF-8 string at offset 1  Failed: invalid UTF-8 string at offset 0
802    
803  /xxx/8?D  /xxx/8?DZSS
804  ------------------------------------------------------------------  ------------------------------------------------------------------
805    0  11 Bra 0          Bra
806    3   6 \x{c3}\x{f8}xx          \X{c0}\X{c0}\X{c0}xxx
807   11  11 Ket          Ket
808   14     End          End
809  ------------------------------------------------------------------  ------------------------------------------------------------------
810  Capturing subpattern count = 0  Capturing subpattern count = 0
811  Options: utf8 no_utf8_check  Options: utf8 no_utf8_check
# Line 863  First char = 195 Line 813  First char = 195
813  Need char = 'x'  Need char = 'x'
814    
815  /abc/8  /abc/8
816     ]      ]
817  Error -10  Error -10 (bad UTF-8 string) offset=0 reason=6
818          
819  Error -10  Error -10 (bad UTF-8 string) offset=0 reason=1
820          
821  Error -10  Error -10 (bad UTF-8 string) offset=0 reason=6
822     \?      \?
823    No match
824        \xe1\x88
825    Error -10 (bad UTF-8 string) offset=0 reason=1
826        \P\xe1\x88
827    Error -10 (bad UTF-8 string) offset=0 reason=1
828        \P\P\xe1\x88
829    Error -25 (short UTF-8 string) offset=0 reason=1
830        XX\xea
831    Error -10 (bad UTF-8 string) offset=2 reason=2
832        \O0XX\xea
833    Error -10 (bad UTF-8 string)
834        \O1XX\xea
835    Error -10 (bad UTF-8 string)
836        \O2XX\xea
837    Error -10 (bad UTF-8 string) offset=2 reason=2
838        XX\xf1
839    Error -10 (bad UTF-8 string) offset=2 reason=3
840        XX\xf8
841    Error -10 (bad UTF-8 string) offset=2 reason=4
842        XX\xfc
843    Error -10 (bad UTF-8 string) offset=2 reason=5
844        ZZ\xea\xaf\x20YY
845    Error -10 (bad UTF-8 string) offset=2 reason=7
846        ZZ\xfd\xbf\xbf\x2f\xbf\xbfYY
847    Error -10 (bad UTF-8 string) offset=2 reason=8
848        ZZ\xfd\xbf\xbf\xbf\x2f\xbfYY
849    Error -10 (bad UTF-8 string) offset=2 reason=9
850        ZZ\xfd\xbf\xbf\xbf\xbf\x2fYY
851    Error -10 (bad UTF-8 string) offset=2 reason=10
852        ZZ\xffYY
853    Error -10 (bad UTF-8 string) offset=2 reason=21
854        ZZ\xfeYY
855    Error -10 (bad UTF-8 string) offset=2 reason=21
856    
857    /anything/8
858        \xc0\x80
859    Error -10 (bad UTF-8 string) offset=0 reason=15
860        \xc1\x8f
861    Error -10 (bad UTF-8 string) offset=0 reason=15
862        \xe0\x9f\x80
863    Error -10 (bad UTF-8 string) offset=0 reason=16
864        \xf0\x8f\x80\x80
865    Error -10 (bad UTF-8 string) offset=0 reason=17
866        \xf8\x87\x80\x80\x80
867    Error -10 (bad UTF-8 string) offset=0 reason=18
868        \xfc\x83\x80\x80\x80\x80
869    Error -10 (bad UTF-8 string) offset=0 reason=19
870        \xfe\x80\x80\x80\x80\x80
871    Error -10 (bad UTF-8 string) offset=0 reason=21
872        \xff\x80\x80\x80\x80\x80
873    Error -10 (bad UTF-8 string) offset=0 reason=21
874        \xc3\x8f
875    No match
876        \xe0\xaf\x80
877    No match
878        \xe1\x80\x80
879    No match
880        \xf0\x9f\x80\x80
881    No match
882        \xf1\x8f\x80\x80
883    No match
884        \xf8\x88\x80\x80\x80
885    Error -10 (bad UTF-8 string) offset=0 reason=11
886        \xf9\x87\x80\x80\x80
887    Error -10 (bad UTF-8 string) offset=0 reason=11
888        \xfc\x84\x80\x80\x80\x80
889    Error -10 (bad UTF-8 string) offset=0 reason=12
890        \xfd\x83\x80\x80\x80\x80
891    Error -10 (bad UTF-8 string) offset=0 reason=12
892        \?\xf8\x88\x80\x80\x80
893    No match
894        \?\xf9\x87\x80\x80\x80
895    No match
896        \?\xfc\x84\x80\x80\x80\x80
897    No match
898        \?\xfd\x83\x80\x80\x80\x80
899    No match
900    
901    /\x{100}abc(xyz(?1))/8DZ
902    ------------------------------------------------------------------
903            Bra
904            \x{100}abc
905            CBra 1
906            xyz
907            Recurse
908            Ket
909            Ket
910            End
911    ------------------------------------------------------------------
912    Capturing subpattern count = 1
913    Options: utf8
914    First char = 196
915    Need char = 'z'
916    
917    /[^\x{100}]abc(xyz(?1))/8DZ
918    ------------------------------------------------------------------
919            Bra
920            [^\x{100}]
921            abc
922            CBra 1
923            xyz
924            Recurse
925            Ket
926            Ket
927            End
928    ------------------------------------------------------------------
929    Capturing subpattern count = 1
930    Options: utf8
931    No first char
932    Need char = 'z'
933    
934    /[ab\x{100}]abc(xyz(?1))/8DZ
935    ------------------------------------------------------------------
936            Bra
937            [ab\x{100}]
938            abc
939            CBra 1
940            xyz
941            Recurse
942            Ket
943            Ket
944            End
945    ------------------------------------------------------------------
946    Capturing subpattern count = 1
947    Options: utf8
948    No first char
949    Need char = 'z'
950    
951    /(\x{100}(b(?2)c))?/DZ8
952    ------------------------------------------------------------------
953            Bra
954            Brazero
955            CBra 1
956            \x{100}
957            CBra 2
958            b
959            Recurse
960            c
961            Ket
962            Ket
963            Ket
964            End
965    ------------------------------------------------------------------
966    Capturing subpattern count = 2
967    Options: utf8
968    No first char
969    No need char
970    
971    /(\x{100}(b(?2)c)){0,2}/DZ8
972    ------------------------------------------------------------------
973            Bra
974            Brazero
975            Bra
976            CBra 1
977            \x{100}
978            CBra 2
979            b
980            Recurse
981            c
982            Ket
983            Ket
984            Brazero
985            CBra 1
986            \x{100}
987            CBra 2
988            b
989            Recurse
990            c
991            Ket
992            Ket
993            Ket
994            Ket
995            End
996    ------------------------------------------------------------------
997    Capturing subpattern count = 2
998    Options: utf8
999    No first char
1000    No need char
1001    
1002    /(\x{100}(b(?1)c))?/DZ8
1003    ------------------------------------------------------------------
1004            Bra
1005            Brazero
1006            CBra 1
1007            \x{100}
1008            CBra 2
1009            b
1010            Recurse
1011            c
1012            Ket
1013            Ket
1014            Ket
1015            End
1016    ------------------------------------------------------------------
1017    Capturing subpattern count = 2
1018    Options: utf8
1019    No first char
1020    No need char
1021    
1022    /(\x{100}(b(?1)c)){0,2}/DZ8
1023    ------------------------------------------------------------------
1024            Bra
1025            Brazero
1026            Bra
1027            CBra 1
1028            \x{100}
1029            CBra 2
1030            b
1031            Recurse
1032            c
1033            Ket
1034            Ket
1035            Brazero
1036            CBra 1
1037            \x{100}
1038            CBra 2
1039            b
1040            Recurse
1041            c
1042            Ket
1043            Ket
1044            Ket
1045            Ket
1046            End
1047    ------------------------------------------------------------------
1048    Capturing subpattern count = 2
1049    Options: utf8
1050    No first char
1051    No need char
1052    
1053    /\W/8
1054        A.B
1055     0: .
1056        A\x{100}B
1057     0: \x{100}
1058    
1059    /\w/8
1060        \x{100}X
1061     0: X
1062    
1063    /a\x{1234}b/P8
1064        a\x{1234}b
1065     0: a\x{1234}b
1066    
1067    /^\ሴ/8DZ
1068    ------------------------------------------------------------------
1069            Bra
1070            ^
1071            \x{1234}
1072            Ket
1073            End
1074    ------------------------------------------------------------------
1075    Capturing subpattern count = 0
1076    Options: anchored utf8
1077    No first char
1078    No need char
1079    
1080    /\777/I
1081    Failed: octal value is greater than \377 (not in UTF-8 mode) at offset 3
1082    
1083    /\777/8I
1084    Capturing subpattern count = 0
1085    Options: utf8
1086    First char = 199
1087    Need char = 191
1088      \x{1ff}
1089     0: \x{1ff}
1090      \777
1091     0: \x{1ff}
1092    
1093    /\x{100}*\d/8DZ
1094    ------------------------------------------------------------------
1095            Bra
1096            \x{100}*+
1097            \d
1098            Ket
1099            End
1100    ------------------------------------------------------------------
1101    Capturing subpattern count = 0
1102    Options: utf8
1103    No first char
1104    No need char
1105    
1106    /\x{100}*\s/8DZ
1107    ------------------------------------------------------------------
1108            Bra
1109            \x{100}*+
1110            \s
1111            Ket
1112            End
1113    ------------------------------------------------------------------
1114    Capturing subpattern count = 0
1115    Options: utf8
1116    No first char
1117    No need char
1118    
1119    /\x{100}*\w/8DZ
1120    ------------------------------------------------------------------
1121            Bra
1122            \x{100}*+
1123            \w
1124            Ket
1125            End
1126    ------------------------------------------------------------------
1127    Capturing subpattern count = 0
1128    Options: utf8
1129    No first char
1130    No need char
1131    
1132    /\x{100}*\D/8DZ
1133    ------------------------------------------------------------------
1134            Bra
1135            \x{100}*
1136            \D
1137            Ket
1138            End
1139    ------------------------------------------------------------------
1140    Capturing subpattern count = 0
1141    Options: utf8
1142    No first char
1143    No need char
1144    
1145    /\x{100}*\S/8DZ
1146    ------------------------------------------------------------------
1147            Bra
1148            \x{100}*
1149            \S
1150            Ket
1151            End
1152    ------------------------------------------------------------------
1153    Capturing subpattern count = 0
1154    Options: utf8
1155    No first char
1156    No need char
1157    
1158    /\x{100}*\W/8DZ
1159    ------------------------------------------------------------------
1160            Bra
1161            \x{100}*
1162            \W
1163            Ket
1164            End
1165    ------------------------------------------------------------------
1166    Capturing subpattern count = 0
1167    Options: utf8
1168    No first char
1169    No need char
1170    
1171    /\x{100}+\x{200}/8DZ
1172    ------------------------------------------------------------------
1173            Bra
1174            \x{100}++
1175            \x{200}
1176            Ket
1177            End
1178    ------------------------------------------------------------------
1179    Capturing subpattern count = 0
1180    Options: utf8
1181    First char = 196
1182    Need char = 128
1183    
1184    /\x{100}+X/8DZ
1185    ------------------------------------------------------------------
1186            Bra
1187            \x{100}++
1188            X
1189            Ket
1190            End
1191    ------------------------------------------------------------------
1192    Capturing subpattern count = 0
1193    Options: utf8
1194    First char = 196
1195    Need char = 'X'
1196    
1197    /X+\x{200}/8DZ
1198    ------------------------------------------------------------------
1199            Bra
1200            X++
1201            \x{200}
1202            Ket
1203            End
1204    ------------------------------------------------------------------
1205    Capturing subpattern count = 0
1206    Options: utf8
1207    First char = 'X'
1208    Need char = 128
1209    
1210    /()()()()()()()()()()
1211     ()()()()()()()()()()
1212     ()()()()()()()()()()
1213     ()()()()()()()()()()
1214     A (x) (?41) B/8x
1215        AxxB
1216    Matched, but too many substrings
1217     0: AxxB
1218     1:
1219     2:
1220     3:
1221     4:
1222     5:
1223     6:
1224     7:
1225     8:
1226     9:
1227    10:
1228    11:
1229    12:
1230    13:
1231    14:
1232    
1233    /^[\x{100}\E-\Q\E\x{150}]/BZ8
1234    ------------------------------------------------------------------
1235            Bra
1236            ^
1237            [\x{100}-\x{150}]
1238            Ket
1239            End
1240    ------------------------------------------------------------------
1241    
1242    /^[\QĀ\E-\QŐ\E]/BZ8
1243    ------------------------------------------------------------------
1244            Bra
1245            ^
1246            [\x{100}-\x{150}]
1247            Ket
1248            End
1249    ------------------------------------------------------------------
1250    
1251    /^[\QĀ\E-\QŐ\E/BZ8
1252    Failed: missing terminating ] for character class at offset 15
1253    
1254    /^abc./mgx8<any>
1255        abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x{0085}abc7 \x{2028}abc8 \x{2029}abc9 JUNK
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    /abc.$/mgx8<any>
1267        abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x{0085} abc7\x{2028} abc8\x{2029} abc9
1268     0: abc1
1269     0: abc2
1270     0: abc3
1271     0: abc4
1272     0: abc5
1273     0: abc6
1274     0: abc7
1275     0: abc8
1276     0: abc9
1277    
1278    /^a\Rb/8<bsr_unicode>
1279        a\nb
1280     0: a\x{0a}b
1281        a\rb
1282     0: a\x{0d}b
1283        a\r\nb
1284     0: a\x{0d}\x{0a}b
1285        a\x0bb
1286     0: a\x{0b}b
1287        a\x0cb
1288     0: a\x{0c}b
1289        a\x{85}b
1290     0: a\x{85}b
1291        a\x{2028}b
1292     0: a\x{2028}b
1293        a\x{2029}b
1294     0: a\x{2029}b
1295        ** Failers
1296    No match
1297        a\n\rb
1298    No match
1299    
1300    /^a\R*b/8<bsr_unicode>
1301        ab
1302     0: ab
1303        a\nb
1304     0: a\x{0a}b
1305        a\rb
1306     0: a\x{0d}b
1307        a\r\nb
1308     0: a\x{0d}\x{0a}b
1309        a\x0bb
1310     0: a\x{0b}b
1311        a\x0c\x{2028}\x{2029}b
1312     0: a\x{0c}\x{2028}\x{2029}b
1313        a\x{85}b
1314     0: a\x{85}b
1315        a\n\rb
1316     0: a\x{0a}\x{0d}b
1317        a\n\r\x{85}\x0cb
1318     0: a\x{0a}\x{0d}\x{85}\x{0c}b
1319    
1320    /^a\R+b/8<bsr_unicode>
1321        a\nb
1322     0: a\x{0a}b
1323        a\rb
1324     0: a\x{0d}b
1325        a\r\nb
1326     0: a\x{0d}\x{0a}b
1327        a\x0bb
1328     0: a\x{0b}b
1329        a\x0c\x{2028}\x{2029}b
1330     0: a\x{0c}\x{2028}\x{2029}b
1331        a\x{85}b
1332     0: a\x{85}b
1333        a\n\rb
1334     0: a\x{0a}\x{0d}b
1335        a\n\r\x{85}\x0cb
1336     0: a\x{0a}\x{0d}\x{85}\x{0c}b
1337        ** Failers
1338    No match
1339        ab
1340    No match
1341    
1342    /^a\R{1,3}b/8<bsr_unicode>
1343        a\nb
1344     0: a\x{0a}b
1345        a\n\rb
1346     0: a\x{0a}\x{0d}b
1347        a\n\r\x{85}b
1348     0: a\x{0a}\x{0d}\x{85}b
1349        a\r\n\r\nb
1350     0: a\x{0d}\x{0a}\x{0d}\x{0a}b
1351        a\r\n\r\n\r\nb
1352     0: a\x{0d}\x{0a}\x{0d}\x{0a}\x{0d}\x{0a}b
1353        a\n\r\n\rb
1354     0: a\x{0a}\x{0d}\x{0a}\x{0d}b
1355        a\n\n\r\nb
1356     0: a\x{0a}\x{0a}\x{0d}\x{0a}b
1357        ** Failers
1358    No match
1359        a\n\n\n\rb
1360    No match
1361        a\r
1362    No match
1363    
1364    /\H\h\V\v/8
1365        X X\x0a
1366     0: X X\x{0a}
1367        X\x09X\x0b
1368     0: X\x{09}X\x{0b}
1369        ** Failers
1370    No match
1371        \x{a0} X\x0a
1372    No match
1373    
1374    /\H*\h+\V?\v{3,4}/8
1375        \x09\x20\x{a0}X\x0a\x0b\x0c\x0d\x0a
1376     0: \x{09} \x{a0}X\x{0a}\x{0b}\x{0c}\x{0d}
1377        \x09\x20\x{a0}\x0a\x0b\x0c\x0d\x0a
1378     0: \x{09} \x{a0}\x{0a}\x{0b}\x{0c}\x{0d}
1379        \x09\x20\x{a0}\x0a\x0b\x0c
1380     0: \x{09} \x{a0}\x{0a}\x{0b}\x{0c}
1381        ** Failers
1382    No match
1383        \x09\x20\x{a0}\x0a\x0b
1384    No match
1385    
1386    /\H\h\V\v/8
1387        \x{3001}\x{3000}\x{2030}\x{2028}
1388     0: \x{3001}\x{3000}\x{2030}\x{2028}
1389        X\x{180e}X\x{85}
1390     0: X\x{180e}X\x{85}
1391        ** Failers
1392    No match
1393        \x{2009} X\x0a
1394    No match
1395    
1396    /\H*\h+\V?\v{3,4}/8
1397        \x{1680}\x{180e}\x{2007}X\x{2028}\x{2029}\x0c\x0d\x0a
1398     0: \x{1680}\x{180e}\x{2007}X\x{2028}\x{2029}\x{0c}\x{0d}
1399        \x09\x{205f}\x{a0}\x0a\x{2029}\x0c\x{2028}\x0a
1400     0: \x{09}\x{205f}\x{a0}\x{0a}\x{2029}\x{0c}\x{2028}
1401        \x09\x20\x{202f}\x0a\x0b\x0c
1402     0: \x{09} \x{202f}\x{0a}\x{0b}\x{0c}
1403        ** Failers
1404    No match
1405        \x09\x{200a}\x{a0}\x{2028}\x0b
1406    No match
1407    
1408    /[\h]/8BZ
1409    ------------------------------------------------------------------
1410            Bra
1411            [\x09 \xa0\x{1680}\x{180e}\x{2000}-\x{200a}\x{202f}\x{205f}\x{3000}]
1412            Ket
1413            End
1414    ------------------------------------------------------------------
1415        >\x{1680}
1416     0: \x{1680}
1417    
1418    /[\h]{3,}/8BZ
1419    ------------------------------------------------------------------
1420            Bra
1421            [\x09 \xa0\x{1680}\x{180e}\x{2000}-\x{200a}\x{202f}\x{205f}\x{3000}]{3,}
1422            Ket
1423            End
1424    ------------------------------------------------------------------
1425        >\x{1680}\x{180e}\x{2000}\x{2003}\x{200a}\x{202f}\x{205f}\x{3000}<
1426     0: \x{1680}\x{180e}\x{2000}\x{2003}\x{200a}\x{202f}\x{205f}\x{3000}
1427    
1428    /[\v]/8BZ
1429    ------------------------------------------------------------------
1430            Bra
1431            [\x0a-\x0d\x85\x{2028}-\x{2029}]
1432            Ket
1433            End
1434    ------------------------------------------------------------------
1435    
1436    /[\H]/8BZ
1437    ------------------------------------------------------------------
1438            Bra
1439            [\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}]
1440            Ket
1441            End
1442    ------------------------------------------------------------------
1443    
1444    /[\V]/8BZ
1445    ------------------------------------------------------------------
1446            Bra
1447            [\x00-\x09\x0e-\x84\x86-\xff\x{100}-\x{2027}\x{2029}-\x{7fffffff}]
1448            Ket
1449            End
1450    ------------------------------------------------------------------
1451    
1452    /.*$/8<any>
1453        \x{1ec5}
1454     0: \x{1ec5}
1455    
1456    /-- This tests the stricter UTF-8 check according to RFC 3629. --/
1457    
1458    /X/8
1459        \x{0}\x{d7ff}\x{e000}\x{10ffff}
1460    No match
1461        \x{d800}
1462    Error -10 (bad UTF-8 string) offset=0 reason=14
1463        \x{d800}\?
1464    No match
1465        \x{da00}
1466    Error -10 (bad UTF-8 string) offset=0 reason=14
1467        \x{da00}\?
1468    No match
1469        \x{dfff}
1470    Error -10 (bad UTF-8 string) offset=0 reason=14
1471        \x{dfff}\?
1472    No match
1473        \x{110000}
1474    Error -10 (bad UTF-8 string) offset=0 reason=13
1475        \x{110000}\?
1476    No match
1477        \x{2000000}
1478    Error -10 (bad UTF-8 string) offset=0 reason=11
1479        \x{2000000}\?
1480    No match
1481        \x{7fffffff}
1482    Error -10 (bad UTF-8 string) offset=0 reason=12
1483        \x{7fffffff}\?
1484    No match
1485    
1486    /a\Rb/I8<bsr_anycrlf>
1487    Capturing subpattern count = 0
1488    Options: bsr_anycrlf utf8
1489    First char = 'a'
1490    Need char = 'b'
1491        a\rb
1492     0: a\x{0d}b
1493        a\nb
1494     0: a\x{0a}b
1495        a\r\nb
1496     0: a\x{0d}\x{0a}b
1497        ** Failers
1498    No match
1499        a\x{85}b
1500    No match
1501        a\x0bb
1502    No match
1503    
1504    /a\Rb/I8<bsr_unicode>
1505    Capturing subpattern count = 0
1506    Options: bsr_unicode utf8
1507    First char = 'a'
1508    Need char = 'b'
1509        a\rb
1510     0: a\x{0d}b
1511        a\nb
1512     0: a\x{0a}b
1513        a\r\nb
1514     0: a\x{0d}\x{0a}b
1515        a\x{85}b
1516     0: a\x{85}b
1517        a\x0bb
1518     0: a\x{0b}b
1519        ** Failers
1520    No match
1521        a\x{85}b\<bsr_anycrlf>
1522    No match
1523        a\x0bb\<bsr_anycrlf>
1524    No match
1525    
1526    /a\R?b/I8<bsr_anycrlf>
1527    Capturing subpattern count = 0
1528    Options: bsr_anycrlf utf8
1529    First char = 'a'
1530    Need char = 'b'
1531        a\rb
1532     0: a\x{0d}b
1533        a\nb
1534     0: a\x{0a}b
1535        a\r\nb
1536     0: a\x{0d}\x{0a}b
1537        ** Failers
1538    No match
1539        a\x{85}b
1540    No match
1541        a\x0bb
1542    No match
1543    
1544    /a\R?b/I8<bsr_unicode>
1545    Capturing subpattern count = 0
1546    Options: bsr_unicode utf8
1547    First char = 'a'
1548    Need char = 'b'
1549        a\rb
1550     0: a\x{0d}b
1551        a\nb
1552     0: a\x{0a}b
1553        a\r\nb
1554     0: a\x{0d}\x{0a}b
1555        a\x{85}b
1556     0: a\x{85}b
1557        a\x0bb
1558     0: a\x{0b}b
1559        ** Failers
1560    No match
1561        a\x{85}b\<bsr_anycrlf>
1562    No match
1563        a\x0bb\<bsr_anycrlf>
1564    No match
1565    
1566    /.*a.*=.b.*/8<ANY>
1567        QQQ\x{2029}ABCaXYZ=!bPQR
1568     0: ABCaXYZ=!bPQR
1569        ** Failers
1570    No match
1571        a\x{2029}b
1572    No match
1573        \x61\xe2\x80\xa9\x62
1574    No match
1575    
1576    /[[:a\x{100}b:]]/8
1577    Failed: unknown POSIX class name at offset 3
1578    
1579    /a[^]b/<JS>8
1580        a\x{1234}b
1581     0: a\x{1234}b
1582        a\nb
1583     0: a\x{0a}b
1584        ** Failers
1585    No match
1586        ab
1587    No match
1588    
1589    /a[^]+b/<JS>8
1590        aXb
1591     0: aXb
1592        a\nX\nX\x{1234}b
1593     0: a\x{0a}X\x{0a}X\x{1234}b
1594        ** Failers
1595    No match
1596        ab
1597    No match
1598    
1599    /(\x{de})\1/
1600        \x{de}\x{de}
1601     0: \xde\xde
1602     1: \xde
1603        \x{123}
1604    ** Character \x{123} is greater than 255 and UTF-8 mode is not enabled.
1605    ** Truncation will probably give the wrong result.
1606    No match
1607    
1608    /X/8f<any>
1609        A\x{1ec5}ABCXYZ
1610     0: X
1611    
1612    /(*UTF8)\x{1234}/
1613      abcd\x{1234}pqr
1614     0: \x{1234}
1615    
1616    /(*CRLF)(*UTF8)(*BSR_UNICODE)a\Rb/I
1617    Capturing subpattern count = 0
1618    Options: bsr_unicode utf8
1619    Forced newline sequence: CRLF
1620    First char = 'a'
1621    Need char = 'b'
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    /Xa{2,4}+b/8
1648        X\P
1649    Partial match: X
1650        Xa\P
1651    Partial match: Xa
1652        Xaa\P
1653    Partial match: Xaa
1654        Xaaa\P
1655    Partial match: Xaaa
1656        Xaaaa\P
1657    Partial match: Xaaaa
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        X\P
1685    Partial match: X
1686        X\x{123}\P
1687    Partial match: X\x{123}
1688        X\x{123}\x{123}\P
1689    Partial match: X\x{123}\x{123}
1690        X\x{123}\x{123}\x{123}\P
1691    Partial match: X\x{123}\x{123}\x{123}
1692        X\x{123}\x{123}\x{123}\x{123}\P
1693    Partial match: X\x{123}\x{123}\x{123}\x{123}
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\x{123}{2,4}+b/8
1720        Xx\P
1721    No match
1722        X\x{123}x\P
1723    No match
1724        X\x{123}\x{123}x\P
1725    No match
1726        X\x{123}\x{123}\x{123}x\P
1727    No match
1728        X\x{123}\x{123}\x{123}\x{123}x\P
1729    No match
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        X3\P
1759    Partial match: X3
1760        X33\P
1761    Partial match: X33
1762        X333\P
1763    Partial match: X333
1764        X3333\P
1765    Partial match: X3333
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        Xa\P
1795    Partial match: Xa
1796        Xaa\P
1797    Partial match: Xaa
1798        Xaaa\P
1799    Partial match: Xaaa
1800        Xaaaa\P
1801    Partial match: Xaaaa
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\D{2,4}+b/8
1828        X\P
1829    Partial match: X
1830        X\x{123}\P
1831    Partial match: X\x{123}
1832        X\x{123}\x{123}\P
1833    Partial match: X\x{123}\x{123}
1834        X\x{123}\x{123}\x{123}\P
1835    Partial match: X\x{123}\x{123}\x{123}
1836        X\x{123}\x{123}\x{123}\x{123}\P
1837    Partial match: X\x{123}\x{123}\x{123}\x{123}
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]{2,4}+b/8
1864        X\P
1865    Partial match: X
1866        Xa\P
1867    Partial match: Xa
1868        Xaa\P
1869    Partial match: Xaa
1870        Xaaa\P
1871    Partial match: Xaaa
1872        Xaaaa\P
1873    Partial match: Xaaaa
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[abc\x{123}]{2,4}+b/8
1900        X\P
1901    Partial match: X
1902        X\x{123}\P
1903    Partial match: X\x{123}
1904        X\x{123}\x{123}\P
1905    Partial match: X\x{123}\x{123}
1906        X\x{123}\x{123}\x{123}\P
1907    Partial match: X\x{123}\x{123}\x{123}
1908        X\x{123}\x{123}\x{123}\x{123}\P
1909    Partial match: X\x{123}\x{123}\x{123}\x{123}
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        Xz\P
1939    Partial match: Xz
1940        Xzz\P
1941    Partial match: Xzz
1942        Xzzz\P
1943    Partial match: Xzzz
1944        Xzzzz\P
1945    Partial match: Xzzzz
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    /X[^a]{2,4}+b/8
1972        X\P
1973    Partial match: X
1974        X\x{123}\P
1975    Partial match: X\x{123}
1976        X\x{123}\x{123}\P
1977    Partial match: X\x{123}\x{123}
1978        X\x{123}\x{123}\x{123}\P
1979    Partial match: X\x{123}\x{123}\x{123}
1980        X\x{123}\x{123}\x{123}\x{123}\P
1981    Partial match: X\x{123}\x{123}\x{123}\x{123}
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    /(Y)X\1{2,4}+b/8
2008        YX\P
2009    Partial match: YX
2010        YXY\P
2011    Partial match: YXY
2012        YXYY\P
2013    Partial match: YXYY
2014        YXYYY\P
2015    Partial match: YXYYY
2016        YXYYYY\P
2017    Partial match: YXYYYY
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    /(\x{123})X\1{2,4}+b/8
2044        \x{123}X\P
2045    Partial match: \x{123}X
2046        \x{123}X\x{123}\P
2047    Partial match: \x{123}X\x{123}
2048        \x{123}X\x{123}\x{123}\P
2049    Partial match: \x{123}X\x{123}\x{123}
2050        \x{123}X\x{123}\x{123}\x{123}\P
2051    Partial match: \x{123}X\x{123}\x{123}\x{123}
2052        \x{123}X\x{123}\x{123}\x{123}\x{123}\P
2053    Partial match: \x{123}X\x{123}\x{123}\x{123}\x{123}
2054    
2055    /\bthe cat\b/8
2056        the cat\P
2057     0: the cat
2058        the cat\P\P
2059    Partial match: the cat
2060    
2061    /abcd*/8
2062        xxxxabcd\P
2063     0: abcd
2064        xxxxabcd\P\P
2065    Partial match: abcd
2066    
2067    /abcd*/i8
2068        xxxxabcd\P
2069     0: abcd
2070        xxxxabcd\P\P
2071    Partial match: abcd
2072        XXXXABCD\P
2073     0: ABCD
2074        XXXXABCD\P\P
2075    Partial match: ABCD
2076    
2077    /abc\d*/8
2078        xxxxabc1\P
2079     0: abc1
2080        xxxxabc1\P\P
2081    Partial match: abc1
2082    
2083    /(a)bc\1*/8
2084        xxxxabca\P
2085     0: abca
2086     1: a
2087        xxxxabca\P\P
2088    Partial match: abca
2089    
2090    /abc[de]*/8
2091        xxxxabcde\P
2092     0: abcde
2093        xxxxabcde\P\P
2094    Partial match: abcde
2095    
2096    /X\W{3}X/8
2097        \PX
2098    Partial match: X
2099    
2100    /\h/SI
2101    Capturing subpattern count = 0
2102    No options
2103    No first char
2104    No need char
2105    Subject length lower bound = 1
2106    Starting byte set: \x09 \x20 \xa0
2107    
2108    /\h/SI8
2109    Capturing subpattern count = 0
2110    Options: utf8
2111    No first char
2112    No need char
2113    Subject length lower bound = 1
2114    Starting byte set: \x09 \x20 \xc2 \xe1 \xe2 \xe3
2115        ABC\x{09}
2116     0: \x{09}
2117        ABC\x{20}
2118     0:
2119        ABC\x{a0}
2120     0: \x{a0}
2121        ABC\x{1680}
2122     0: \x{1680}
2123        ABC\x{180e}
2124     0: \x{180e}
2125        ABC\x{2000}
2126     0: \x{2000}
2127        ABC\x{202f}
2128     0: \x{202f}
2129        ABC\x{205f}
2130     0: \x{205f}
2131        ABC\x{3000}
2132     0: \x{3000}
2133    
2134    /\v/SI
2135    Capturing subpattern count = 0
2136    No options
2137    No first char
2138    No need char
2139    Subject length lower bound = 1
2140    Starting byte set: \x0a \x0b \x0c \x0d \x85
2141    
2142    /\v/SI8
2143    Capturing subpattern count = 0
2144    Options: utf8
2145    No first char
2146    No need char
2147    Subject length lower bound = 1
2148    Starting byte set: \x0a \x0b \x0c \x0d \xc2 \xe2
2149        ABC\x{0a}
2150     0: \x{0a}
2151        ABC\x{0b}
2152     0: \x{0b}
2153        ABC\x{0c}
2154     0: \x{0c}
2155        ABC\x{0d}
2156     0: \x{0d}
2157        ABC\x{85}
2158     0: \x{85}
2159        ABC\x{2028}
2160     0: \x{2028}
2161    
2162    /\R/SI
2163    Capturing subpattern count = 0
2164    No options
2165    No first char
2166    No need char
2167    Subject length lower bound = 1
2168    Starting byte set: \x0a \x0b \x0c \x0d \x85
2169    
2170    /\R/SI8
2171    Capturing subpattern count = 0
2172    Options: utf8
2173    No first char
2174    No need char
2175    Subject length lower bound = 1
2176    Starting byte set: \x0a \x0b \x0c \x0d \xc2 \xe2
2177    
2178    /\h*A/SI8
2179    Capturing subpattern count = 0
2180    Options: utf8
2181    No first char
2182    Need char = 'A'
2183    Subject length lower bound = 1
2184    Starting byte set: \x09 \x20 A \xc2 \xe1 \xe2 \xe3
2185        CDBABC
2186     0: A
2187    
2188    /\v+A/SI8
2189    Capturing subpattern count = 0
2190    Options: utf8
2191    No first char
2192    Need char = 'A'
2193    Subject length lower bound = 2
2194    Starting byte set: \x0a \x0b \x0c \x0d \xc2 \xe2
2195    
2196    /\s?xxx\s/8SI
2197    Capturing subpattern count = 0
2198    Options: utf8
2199    No first char
2200    Need char = 'x'
2201    Subject length lower bound = 4
2202    Starting byte set: \x09 \x0a \x0c \x0d \x20 x
2203    
2204    /\sxxx\s/8T1
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    /\sxxx\s/I8ST1
2211    Capturing subpattern count = 0
2212    Options: utf8
2213    No first char
2214    Need char = 'x'
2215    Subject length lower bound = 5
2216    Starting byte set: \x09 \x0a \x0c \x0d \x20 \xc2
2217        AB\x{85}xxx\x{a0}XYZ
2218     0: \x{85}xxx\x{a0}
2219        AB\x{a0}xxx\x{85}XYZ
2220     0: \x{a0}xxx\x{85}
2221    
2222    /\S \S/8T1
2223        \x{a2} \x{84}
2224     0: \x{a2} \x{84}
2225    
2226    /\S \S/I8ST1
2227    Capturing subpattern count = 0
2228    Options: utf8
2229    No first char
2230    Need char = ' '
2231    Subject length lower bound = 3
2232    Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x0b \x0e
2233      \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 \x1a \x1b \x1c \x1d
2234      \x1e \x1f ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @
2235      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
2236      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
2237      \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce \xcf \xd0 \xd1 \xd2
2238      \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd \xde \xdf \xe0 \xe1
2239      \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec \xed \xee \xef \xf0
2240      \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb \xfc \xfd \xfe \xff
2241        \x{a2} \x{84}
2242     0: \x{a2} \x{84}
2243        A Z
2244     0: A Z
2245    
2246    'A#хц'8x<any>BZ
2247    ------------------------------------------------------------------
2248            Bra
2249            A
2250            Ket
2251            End
2252    ------------------------------------------------------------------
2253    
2254    'A#хц
2255      PQ'8x<any>BZ
2256    ------------------------------------------------------------------
2257            Bra
2258            APQ
2259            Ket
2260            End
2261    ------------------------------------------------------------------
2262    
2263    /a+#хaa
2264      z#XX?/8x<any>BZ
2265    ------------------------------------------------------------------
2266            Bra
2267            a++
2268            z
2269            Ket
2270            End
2271    ------------------------------------------------------------------
2272    
2273    /a+#хaa
2274      z#х?/8x<any>BZ
2275    ------------------------------------------------------------------
2276            Bra
2277            a++
2278            z
2279            Ket
2280            End
2281    ------------------------------------------------------------------
2282    
2283    /\g{A}xxx#bXX(?'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    /\g{A}xxx#bх(?'A'123) (?'A'456)/8x<any>BZ
2296    ------------------------------------------------------------------
2297            Bra
2298            \1
2299            xxx
2300            CBra 1
2301            456
2302            Ket
2303            Ket
2304            End
2305    ------------------------------------------------------------------
2306    
2307    /a+/8
2308        a\x{123}aa\>1
2309     0: aa
2310        a\x{123}aa\>2
2311    Error -11 (bad UTF-8 offset)
2312        a\x{123}aa\>3
2313     0: aa
2314        a\x{123}aa\>4
2315     0: a
2316        a\x{123}aa\>5
2317  No match  No match
2318        a\x{123}aa\>6
2319    Error -24 (bad offset value)
2320    
2321    /^\cģ/8
2322    Failed: \c must be followed by an ASCII character at offset 3
2323    
2324    /(\R*)(.)/s8
2325        \r\n
2326     0: \x{0d}
2327     1:
2328     2: \x{0d}
2329        \r\r\n\n\r
2330     0: \x{0d}\x{0d}\x{0a}\x{0a}\x{0d}
2331     1: \x{0d}\x{0d}\x{0a}\x{0a}
2332     2: \x{0d}
2333        \r\r\n\n\r\n
2334     0: \x{0d}\x{0d}\x{0a}\x{0a}\x{0d}
2335     1: \x{0d}\x{0d}\x{0a}\x{0a}
2336     2: \x{0d}
2337    
2338    /(\R)*(.)/s8
2339        \r\n
2340     0: \x{0d}
2341     1: <unset>
2342     2: \x{0d}
2343        \r\r\n\n\r
2344     0: \x{0d}\x{0d}\x{0a}\x{0a}\x{0d}
2345     1: \x{0a}
2346     2: \x{0d}
2347        \r\r\n\n\r\n
2348     0: \x{0d}\x{0d}\x{0a}\x{0a}\x{0d}
2349     1: \x{0a}
2350     2: \x{0d}
2351    
2352    /\x{1234}+/iS8I
2353    Capturing subpattern count = 0
2354    Options: caseless utf8
2355    No first char
2356    No need char
2357    Subject length lower bound = 1
2358    Starting byte set: \xe1
2359    
2360    /\x{1234}+?/iS8I
2361    Capturing subpattern count = 0
2362    Options: caseless utf8
2363    No first char
2364    No need char
2365    Subject length lower bound = 1
2366    Starting byte set: \xe1
2367    
2368    /\x{1234}++/iS8I
2369    Capturing subpattern count = 0
2370    Options: caseless utf8
2371    No first char
2372    No need char
2373    Subject length lower bound = 1
2374    Starting byte set: \xe1
2375    
2376    /\x{1234}{2}/iS8I
2377    Capturing subpattern count = 0
2378    Options: caseless utf8
2379    No first char
2380    No need char
2381    Subject length lower bound = 2
2382    Starting byte set: \xe1
2383    
2384    /[^\x{1234}]+/iS8I
2385    Capturing subpattern count = 0
2386    Options: caseless utf8
2387    No first char
2388    No need char
2389    Subject length lower bound = 1
2390    No set of starting bytes
2391    
2392    /[^\x{1234}]+?/iS8I
2393    Capturing subpattern count = 0
2394    Options: caseless utf8
2395    No first char
2396    No need char
2397    Subject length lower bound = 1
2398    No set of starting bytes
2399    
2400    /[^\x{1234}]++/iS8I
2401    Capturing subpattern count = 0
2402    Options: caseless utf8
2403    No first char
2404    No need char
2405    Subject length lower bound = 1
2406    No set of starting bytes
2407    
2408    /[^\x{1234}]{2}/iS8I
2409    Capturing subpattern count = 0
2410    Options: caseless utf8
2411    No first char
2412    No need char
2413    Subject length lower bound = 2
2414    No set of starting bytes
2415    
2416    //<bsr_anycrlf><bsr_unicode>
2417    Failed: inconsistent NEWLINE options at offset 0
2418    
2419    /f.*/
2420        \P\Pfor
2421    Partial match: for
2422    
2423    /f.*/s
2424        \P\Pfor
2425    Partial match: for
2426    
2427    /f.*/8
2428        \P\Pfor
2429    Partial match: for
2430    
2431  / End of testinput5 /  /f.*/8s
2432        \P\Pfor
2433    Partial match: for
2434    
2435    /-- End of testinput5 --/

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

  ViewVC Help
Powered by ViewVC 1.1.5