chiark / gitweb /
more quilt faff
[pcre3.git] / testdata / testoutput4
1 /-- This set of tests is for UTF support, excluding Unicode properties. It is
2     compatible with all versions of Perl >= 5.10 and both the 8-bit and 16-bit
3     PCRE libraries. --/
4     
5 < forbid 9?=ABCDEFfGILMNPTUWXZ<
6    
7 /a.b/8
8     acb
9  0: acb
10     a\x7fb
11  0: a\x{7f}b
12     a\x{100}b 
13  0: a\x{100}b
14     *** Failers
15 No match
16     a\nb  
17 No match
18
19 /a(.{3})b/8
20     a\x{4000}xyb 
21  0: a\x{4000}xyb
22  1: \x{4000}xy
23     a\x{4000}\x7fyb 
24  0: a\x{4000}\x{7f}yb
25  1: \x{4000}\x{7f}y
26     a\x{4000}\x{100}yb 
27  0: a\x{4000}\x{100}yb
28  1: \x{4000}\x{100}y
29     *** Failers
30 No match
31     a\x{4000}b 
32 No match
33     ac\ncb 
34 No match
35
36 /a(.*?)(.)/
37     a\xc0\x88b
38  0: a\xc0
39  1: 
40  2: \xc0
41
42 /a(.*?)(.)/8
43     a\x{100}b
44  0: a\x{100}
45  1: 
46  2: \x{100}
47
48 /a(.*)(.)/
49     a\xc0\x88b
50  0: a\xc0\x88b
51  1: \xc0\x88
52  2: b
53
54 /a(.*)(.)/8
55     a\x{100}b
56  0: a\x{100}b
57  1: \x{100}
58  2: b
59
60 /a(.)(.)/
61     a\xc0\x92bcd
62  0: a\xc0\x92
63  1: \xc0
64  2: \x92
65
66 /a(.)(.)/8
67     a\x{240}bcd
68  0: a\x{240}b
69  1: \x{240}
70  2: b
71
72 /a(.?)(.)/
73     a\xc0\x92bcd
74  0: a\xc0\x92
75  1: \xc0
76  2: \x92
77
78 /a(.?)(.)/8
79     a\x{240}bcd
80  0: a\x{240}b
81  1: \x{240}
82  2: b
83
84 /a(.??)(.)/
85     a\xc0\x92bcd
86  0: a\xc0
87  1: 
88  2: \xc0
89
90 /a(.??)(.)/8
91     a\x{240}bcd
92  0: a\x{240}
93  1: 
94  2: \x{240}
95
96 /a(.{3})b/8
97     a\x{1234}xyb 
98  0: a\x{1234}xyb
99  1: \x{1234}xy
100     a\x{1234}\x{4321}yb 
101  0: a\x{1234}\x{4321}yb
102  1: \x{1234}\x{4321}y
103     a\x{1234}\x{4321}\x{3412}b 
104  0: a\x{1234}\x{4321}\x{3412}b
105  1: \x{1234}\x{4321}\x{3412}
106     *** Failers
107 No match
108     a\x{1234}b 
109 No match
110     ac\ncb 
111 No match
112
113 /a(.{3,})b/8
114     a\x{1234}xyb 
115  0: a\x{1234}xyb
116  1: \x{1234}xy
117     a\x{1234}\x{4321}yb 
118  0: a\x{1234}\x{4321}yb
119  1: \x{1234}\x{4321}y
120     a\x{1234}\x{4321}\x{3412}b 
121  0: a\x{1234}\x{4321}\x{3412}b
122  1: \x{1234}\x{4321}\x{3412}
123     axxxxbcdefghijb 
124  0: axxxxbcdefghijb
125  1: xxxxbcdefghij
126     a\x{1234}\x{4321}\x{3412}\x{3421}b 
127  0: a\x{1234}\x{4321}\x{3412}\x{3421}b
128  1: \x{1234}\x{4321}\x{3412}\x{3421}
129     *** Failers
130 No match
131     a\x{1234}b 
132 No match
133
134 /a(.{3,}?)b/8
135     a\x{1234}xyb 
136  0: a\x{1234}xyb
137  1: \x{1234}xy
138     a\x{1234}\x{4321}yb 
139  0: a\x{1234}\x{4321}yb
140  1: \x{1234}\x{4321}y
141     a\x{1234}\x{4321}\x{3412}b 
142  0: a\x{1234}\x{4321}\x{3412}b
143  1: \x{1234}\x{4321}\x{3412}
144     axxxxbcdefghijb 
145  0: axxxxb
146  1: xxxx
147     a\x{1234}\x{4321}\x{3412}\x{3421}b 
148  0: a\x{1234}\x{4321}\x{3412}\x{3421}b
149  1: \x{1234}\x{4321}\x{3412}\x{3421}
150     *** Failers
151 No match
152     a\x{1234}b 
153 No match
154
155 /a(.{3,5})b/8
156     a\x{1234}xyb 
157  0: a\x{1234}xyb
158  1: \x{1234}xy
159     a\x{1234}\x{4321}yb 
160  0: a\x{1234}\x{4321}yb
161  1: \x{1234}\x{4321}y
162     a\x{1234}\x{4321}\x{3412}b 
163  0: a\x{1234}\x{4321}\x{3412}b
164  1: \x{1234}\x{4321}\x{3412}
165     axxxxbcdefghijb 
166  0: axxxxb
167  1: xxxx
168     a\x{1234}\x{4321}\x{3412}\x{3421}b 
169  0: a\x{1234}\x{4321}\x{3412}\x{3421}b
170  1: \x{1234}\x{4321}\x{3412}\x{3421}
171     axbxxbcdefghijb 
172  0: axbxxb
173  1: xbxx
174     axxxxxbcdefghijb 
175  0: axxxxxb
176  1: xxxxx
177     *** Failers
178 No match
179     a\x{1234}b 
180 No match
181     axxxxxxbcdefghijb 
182 No match
183
184 /a(.{3,5}?)b/8
185     a\x{1234}xyb 
186  0: a\x{1234}xyb
187  1: \x{1234}xy
188     a\x{1234}\x{4321}yb 
189  0: a\x{1234}\x{4321}yb
190  1: \x{1234}\x{4321}y
191     a\x{1234}\x{4321}\x{3412}b 
192  0: a\x{1234}\x{4321}\x{3412}b
193  1: \x{1234}\x{4321}\x{3412}
194     axxxxbcdefghijb 
195  0: axxxxb
196  1: xxxx
197     a\x{1234}\x{4321}\x{3412}\x{3421}b 
198  0: a\x{1234}\x{4321}\x{3412}\x{3421}b
199  1: \x{1234}\x{4321}\x{3412}\x{3421}
200     axbxxbcdefghijb 
201  0: axbxxb
202  1: xbxx
203     axxxxxbcdefghijb 
204  0: axxxxxb
205  1: xxxxx
206     *** Failers
207 No match
208     a\x{1234}b 
209 No match
210     axxxxxxbcdefghijb 
211 No match
212
213 /^[a\x{c0}]/8
214     *** Failers
215 No match
216     \x{100}
217 No match
218
219 /(?<=aXb)cd/8
220     aXbcd
221  0: cd
222
223 /(?<=a\x{100}b)cd/8
224     a\x{100}bcd
225  0: cd
226
227 /(?<=a\x{100000}b)cd/8
228     a\x{100000}bcd
229  0: cd
230     
231 /(?:\x{100}){3}b/8
232     \x{100}\x{100}\x{100}b
233  0: \x{100}\x{100}\x{100}b
234     *** Failers 
235 No match
236     \x{100}\x{100}b
237 No match
238
239 /\x{ab}/8
240     \x{ab} 
241  0: \x{ab}
242     \xc2\xab
243  0: \x{ab}
244     *** Failers 
245 No match
246     \x00{ab}
247 No match
248
249 /(?<=(.))X/8
250     WXYZ
251  0: X
252  1: W
253     \x{256}XYZ 
254  0: X
255  1: \x{256}
256     *** Failers
257 No match
258     XYZ 
259 No match
260
261 /[^a]+/8g
262     bcd
263  0: bcd
264     \x{100}aY\x{256}Z 
265  0: \x{100}
266  0: Y\x{256}Z
267     
268 /^[^a]{2}/8
269     \x{100}bc
270  0: \x{100}b
271  
272 /^[^a]{2,}/8
273     \x{100}bcAa
274  0: \x{100}bcA
275
276 /^[^a]{2,}?/8
277     \x{100}bca
278  0: \x{100}b
279
280 /[^a]+/8ig
281     bcd
282  0: bcd
283     \x{100}aY\x{256}Z 
284  0: \x{100}
285  0: Y\x{256}Z
286     
287 /^[^a]{2}/8i
288     \x{100}bc
289  0: \x{100}b
290  
291 /^[^a]{2,}/8i
292     \x{100}bcAa
293  0: \x{100}bc
294
295 /^[^a]{2,}?/8i
296     \x{100}bca
297  0: \x{100}b
298
299 /\x{100}{0,0}/8
300     abcd
301  0: 
302  
303 /\x{100}?/8
304     abcd
305  0: 
306     \x{100}\x{100} 
307  0: \x{100}
308
309 /\x{100}{0,3}/8 
310     \x{100}\x{100} 
311  0: \x{100}\x{100}
312     \x{100}\x{100}\x{100}\x{100} 
313  0: \x{100}\x{100}\x{100}
314     
315 /\x{100}*/8
316     abce
317  0: 
318     \x{100}\x{100}\x{100}\x{100} 
319  0: \x{100}\x{100}\x{100}\x{100}
320
321 /\x{100}{1,1}/8
322     abcd\x{100}\x{100}\x{100}\x{100} 
323  0: \x{100}
324
325 /\x{100}{1,3}/8
326     abcd\x{100}\x{100}\x{100}\x{100} 
327  0: \x{100}\x{100}\x{100}
328
329 /\x{100}+/8
330     abcd\x{100}\x{100}\x{100}\x{100} 
331  0: \x{100}\x{100}\x{100}\x{100}
332
333 /\x{100}{3}/8
334     abcd\x{100}\x{100}\x{100}XX
335  0: \x{100}\x{100}\x{100}
336
337 /\x{100}{3,5}/8
338     abcd\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}XX
339  0: \x{100}\x{100}\x{100}\x{100}\x{100}
340
341 /\x{100}{3,}/8
342     abcd\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}XX
343  0: \x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}
344
345 /(?<=a\x{100}{2}b)X/8+
346     Xyyya\x{100}\x{100}bXzzz
347  0: X
348  0+ zzz
349
350 /\D*/8
351   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
352  0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
353
354 /\D*/8
355   \x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}
356  0: \x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}
357
358 /\D/8
359     1X2
360  0: X
361     1\x{100}2 
362  0: \x{100}
363   
364 />\S/8
365     > >X Y
366  0: >X
367     > >\x{100} Y
368  0: >\x{100}
369   
370 /\d/8
371     \x{100}3
372  0: 3
373     
374 /\s/8
375     \x{100} X
376  0:  
377     
378 /\D+/8
379     12abcd34
380  0: abcd
381     *** Failers
382  0: *** Failers
383     1234  
384 No match
385
386 /\D{2,3}/8
387     12abcd34
388  0: abc
389     12ab34
390  0: ab
391     *** Failers  
392  0: ***
393     1234
394 No match
395     12a34  
396 No match
397
398 /\D{2,3}?/8
399     12abcd34
400  0: ab
401     12ab34
402  0: ab
403     *** Failers  
404  0: **
405     1234
406 No match
407     12a34  
408 No match
409
410 /\d+/8
411     12abcd34
412  0: 12
413     *** Failers
414 No match
415
416 /\d{2,3}/8
417     12abcd34
418  0: 12
419     1234abcd
420  0: 123
421     *** Failers  
422 No match
423     1.4 
424 No match
425
426 /\d{2,3}?/8
427     12abcd34
428  0: 12
429     1234abcd
430  0: 12
431     *** Failers  
432 No match
433     1.4 
434 No match
435
436 /\S+/8
437     12abcd34
438  0: 12abcd34
439     *** Failers
440  0: ***
441     \    \ 
442 No match
443
444 /\S{2,3}/8
445     12abcd34
446  0: 12a
447     1234abcd
448  0: 123
449     *** Failers
450  0: ***
451     \     \  
452 No match
453
454 /\S{2,3}?/8
455     12abcd34
456  0: 12
457     1234abcd
458  0: 12
459     *** Failers
460  0: **
461     \     \  
462 No match
463
464 />\s+</8+
465     12>      <34
466  0: >      <
467  0+ 34
468     *** Failers
469 No match
470
471 />\s{2,3}</8+
472     ab>  <cd
473  0: >  <
474  0+ cd
475     ab>   <ce
476  0: >   <
477  0+ ce
478     *** Failers
479 No match
480     ab>    <cd 
481 No match
482
483 />\s{2,3}?</8+
484     ab>  <cd
485  0: >  <
486  0+ cd
487     ab>   <ce
488  0: >   <
489  0+ ce
490     *** Failers
491 No match
492     ab>    <cd 
493 No match
494
495 /\w+/8
496     12      34
497  0: 12
498     *** Failers
499  0: Failers
500     +++=*! 
501 No match
502
503 /\w{2,3}/8
504     ab  cd
505  0: ab
506     abcd ce
507  0: abc
508     *** Failers
509  0: Fai
510     a.b.c
511 No match
512
513 /\w{2,3}?/8
514     ab  cd
515  0: ab
516     abcd ce
517  0: ab
518     *** Failers
519  0: Fa
520     a.b.c
521 No match
522
523 /\W+/8
524     12====34
525  0: ====
526     *** Failers
527  0: *** 
528     abcd 
529 No match
530
531 /\W{2,3}/8
532     ab====cd
533  0: ===
534     ab==cd
535  0: ==
536     *** Failers
537  0: ***
538     a.b.c
539 No match
540
541 /\W{2,3}?/8
542     ab====cd
543  0: ==
544     ab==cd
545  0: ==
546     *** Failers
547  0: **
548     a.b.c
549 No match
550
551 /[\x{100}]/8
552     \x{100}
553  0: \x{100}
554     Z\x{100}
555  0: \x{100}
556     \x{100}Z
557  0: \x{100}
558     *** Failers 
559 No match
560
561 /[Z\x{100}]/8
562     Z\x{100}
563  0: Z
564     \x{100}
565  0: \x{100}
566     \x{100}Z
567  0: \x{100}
568     *** Failers 
569 No match
570
571 /[\x{100}\x{200}]/8
572    ab\x{100}cd
573  0: \x{100}
574    ab\x{200}cd
575  0: \x{200}
576    *** Failers  
577 No match
578
579 /[\x{100}-\x{200}]/8
580    ab\x{100}cd
581  0: \x{100}
582    ab\x{200}cd
583  0: \x{200}
584    ab\x{111}cd 
585  0: \x{111}
586    *** Failers  
587 No match
588
589 /[z-\x{200}]/8
590    ab\x{100}cd
591  0: \x{100}
592    ab\x{200}cd
593  0: \x{200}
594    ab\x{111}cd 
595  0: \x{111}
596    abzcd
597  0: z
598    ab|cd  
599  0: |
600    *** Failers  
601 No match
602
603 /[Q\x{100}\x{200}]/8
604    ab\x{100}cd
605  0: \x{100}
606    ab\x{200}cd
607  0: \x{200}
608    Q? 
609  0: Q
610    *** Failers  
611 No match
612
613 /[Q\x{100}-\x{200}]/8
614    ab\x{100}cd
615  0: \x{100}
616    ab\x{200}cd
617  0: \x{200}
618    ab\x{111}cd 
619  0: \x{111}
620    Q? 
621  0: Q
622    *** Failers  
623 No match
624
625 /[Qz-\x{200}]/8
626    ab\x{100}cd
627  0: \x{100}
628    ab\x{200}cd
629  0: \x{200}
630    ab\x{111}cd 
631  0: \x{111}
632    abzcd
633  0: z
634    ab|cd  
635  0: |
636    Q? 
637  0: Q
638    *** Failers  
639 No match
640
641 /[\x{100}\x{200}]{1,3}/8
642    ab\x{100}cd
643  0: \x{100}
644    ab\x{200}cd
645  0: \x{200}
646    ab\x{200}\x{100}\x{200}\x{100}cd
647  0: \x{200}\x{100}\x{200}
648    *** Failers  
649 No match
650
651 /[\x{100}\x{200}]{1,3}?/8
652    ab\x{100}cd
653  0: \x{100}
654    ab\x{200}cd
655  0: \x{200}
656    ab\x{200}\x{100}\x{200}\x{100}cd
657  0: \x{200}
658    *** Failers  
659 No match
660
661 /[Q\x{100}\x{200}]{1,3}/8
662    ab\x{100}cd
663  0: \x{100}
664    ab\x{200}cd
665  0: \x{200}
666    ab\x{200}\x{100}\x{200}\x{100}cd
667  0: \x{200}\x{100}\x{200}
668    *** Failers  
669 No match
670
671 /[Q\x{100}\x{200}]{1,3}?/8
672    ab\x{100}cd
673  0: \x{100}
674    ab\x{200}cd
675  0: \x{200}
676    ab\x{200}\x{100}\x{200}\x{100}cd
677  0: \x{200}
678    *** Failers  
679 No match
680
681 /(?<=[\x{100}\x{200}])X/8
682     abc\x{200}X
683  0: X
684     abc\x{100}X 
685  0: X
686     *** Failers
687 No match
688     X  
689 No match
690
691 /(?<=[Q\x{100}\x{200}])X/8
692     abc\x{200}X
693  0: X
694     abc\x{100}X 
695  0: X
696     abQX 
697  0: X
698     *** Failers
699 No match
700     X  
701 No match
702
703 /(?<=[\x{100}\x{200}]{3})X/8
704     abc\x{100}\x{200}\x{100}X
705  0: X
706     *** Failers
707 No match
708     abc\x{200}X
709 No match
710     X  
711 No match
712
713 /[^\x{100}\x{200}]X/8
714     AX
715  0: AX
716     \x{150}X
717  0: \x{150}X
718     \x{500}X 
719  0: \x{500}X
720     *** Failers
721 No match
722     \x{100}X
723 No match
724     \x{200}X   
725 No match
726
727 /[^Q\x{100}\x{200}]X/8
728     AX
729  0: AX
730     \x{150}X
731  0: \x{150}X
732     \x{500}X 
733  0: \x{500}X
734     *** Failers
735 No match
736     \x{100}X
737 No match
738     \x{200}X   
739 No match
740     QX 
741 No match
742
743 /[^\x{100}-\x{200}]X/8
744     AX
745  0: AX
746     \x{500}X 
747  0: \x{500}X
748     *** Failers
749 No match
750     \x{100}X
751 No match
752     \x{150}X
753 No match
754     \x{200}X   
755 No match
756
757 /[z-\x{100}]/8i
758     z
759  0: z
760     Z 
761  0: Z
762     \x{100}
763  0: \x{100}
764     *** Failers
765 No match
766     \x{102}
767 No match
768     y    
769 No match
770
771 /[\xFF]/
772     >\xff<
773  0: \xff
774
775 /[\xff]/8
776     >\x{ff}<
777  0: \x{ff}
778
779 /[^\xFF]/
780     XYZ
781  0: X
782
783 /[^\xff]/8
784     XYZ
785  0: X
786     \x{123} 
787  0: \x{123}
788
789 /^[ac]*b/8
790   xb
791 No match
792
793 /^[ac\x{100}]*b/8
794   xb
795 No match
796
797 /^[^x]*b/8i
798   xb
799 No match
800
801 /^[^x]*b/8
802   xb
803 No match
804   
805 /^\d*b/8
806   xb 
807 No match
808
809 /(|a)/g8
810     catac
811  0: 
812  1: 
813  0: 
814  1: 
815  0: a
816  1: a
817  0: 
818  1: 
819  0: 
820  1: 
821  0: a
822  1: a
823  0: 
824  1: 
825  0: 
826  1: 
827     a\x{256}a 
828  0: 
829  1: 
830  0: a
831  1: a
832  0: 
833  1: 
834  0: 
835  1: 
836  0: a
837  1: a
838  0: 
839  1: 
840
841 /^\x{85}$/8i
842     \x{85}
843  0: \x{85}
844
845 /^ሴ/8
846     ሴ 
847  0: \x{1234}
848
849 /^\ሴ/8
850     ሴ 
851  0: \x{1234}
852
853 "(?s)(.{1,5})"8
854     abcdefg
855  0: abcde
856  1: abcde
857     ab
858  0: ab
859  1: ab
860
861 /a*\x{100}*\w/8
862     a 
863  0: a
864
865 /\S\S/8g
866     A\x{a3}BC
867  0: A\x{a3}
868  0: BC
869     
870 /\S{2}/8g
871     A\x{a3}BC
872  0: A\x{a3}
873  0: BC
874     
875 /\W\W/8g
876     +\x{a3}== 
877  0: +\x{a3}
878  0: ==
879
880 /\W{2}/8g
881     +\x{a3}== 
882  0: +\x{a3}
883  0: ==
884
885 /\S/8g
886     \x{442}\x{435}\x{441}\x{442}
887  0: \x{442}
888  0: \x{435}
889  0: \x{441}
890  0: \x{442}
891
892 /[\S]/8g
893     \x{442}\x{435}\x{441}\x{442}
894  0: \x{442}
895  0: \x{435}
896  0: \x{441}
897  0: \x{442}
898
899 /\D/8g
900     \x{442}\x{435}\x{441}\x{442}
901  0: \x{442}
902  0: \x{435}
903  0: \x{441}
904  0: \x{442}
905
906 /[\D]/8g
907     \x{442}\x{435}\x{441}\x{442}
908  0: \x{442}
909  0: \x{435}
910  0: \x{441}
911  0: \x{442}
912
913 /\W/8g
914     \x{2442}\x{2435}\x{2441}\x{2442}
915  0: \x{2442}
916  0: \x{2435}
917  0: \x{2441}
918  0: \x{2442}
919
920 /[\W]/8g
921     \x{2442}\x{2435}\x{2441}\x{2442}
922  0: \x{2442}
923  0: \x{2435}
924  0: \x{2441}
925  0: \x{2442}
926     
927 /[\S\s]*/8
928     abc\n\r\x{442}\x{435}\x{441}\x{442}xyz 
929  0: abc\x{0a}\x{0d}\x{442}\x{435}\x{441}\x{442}xyz
930
931 /[\x{41f}\S]/8g
932     \x{442}\x{435}\x{441}\x{442}
933  0: \x{442}
934  0: \x{435}
935  0: \x{441}
936  0: \x{442}
937
938 /.[^\S]./8g
939     abc def\x{442}\x{443}xyz\npqr
940  0: c d
941  0: z\x{0a}p
942
943 /.[^\S\n]./8g
944     abc def\x{442}\x{443}xyz\npqr
945  0: c d
946
947 /[[:^alnum:]]/8g  
948     +\x{2442}
949  0: +
950  0: \x{2442}
951     
952 /[[:^alpha:]]/8g 
953     +\x{2442}
954  0: +
955  0: \x{2442}
956     
957 /[[:^ascii:]]/8g 
958     A\x{442}
959  0: \x{442}
960     
961 /[[:^blank:]]/8g 
962     A\x{442}
963  0: A
964  0: \x{442}
965     
966 /[[:^cntrl:]]/8g 
967     A\x{442}
968  0: A
969  0: \x{442}
970     
971 /[[:^digit:]]/8g 
972     A\x{442}
973  0: A
974  0: \x{442}
975     
976 /[[:^graph:]]/8g 
977     \x19\x{e01ff}
978  0: \x{19}
979  0: \x{e01ff}
980     
981 /[[:^lower:]]/8g 
982     A\x{422}
983  0: A
984  0: \x{422}
985     
986 /[[:^print:]]/8g 
987     \x{19}\x{e01ff}
988  0: \x{19}
989  0: \x{e01ff}
990     
991 /[[:^punct:]]/8g 
992     A\x{442}
993  0: A
994  0: \x{442}
995     
996 /[[:^space:]]/8g 
997     A\x{442}
998  0: A
999  0: \x{442}
1000     
1001 /[[:^upper:]]/8g 
1002     a\x{442}
1003  0: a
1004  0: \x{442}
1005     
1006 /[[:^word:]]/8g  
1007     +\x{2442}
1008  0: +
1009  0: \x{2442}
1010     
1011 /[[:^xdigit:]]/8g
1012     M\x{442}
1013  0: M
1014  0: \x{442}
1015
1016 /[^ABCDEFGHIJKLMNOPQRSTUVWXYZÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮİIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŸŹŻŽƁƂƄƆƇƉƊƋƎƏƐƑƓƔƖƗƘƜƝƟƠƢƤƦƧƩƬƮƯƱƲƳƵƷƸƼDŽLJNJǍǏǑǓǕǗǙǛǞǠǢǤǦǨǪǬǮDZǴǶǷǸǺǼǾȀȂȄȆȈȊȌȎȐȒȔȖȘȚȜȞȠȢȤȦȨȪȬȮȰȲȺȻȽȾɁΆΈΉΊΌΎΏΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩΪΫϒϓϔϘϚϜϞϠϢϤϦϨϪϬϮϴϷϹϺϽϾϿЀЁЂЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯѠѢѤѦѨѪѬѮѰѲѴѶѸѺѼѾҀҊҌҎҐҒҔҖҘҚҜҞҠҢҤҦҨҪҬҮҰҲҴҶҸҺҼҾӀӁӃӅӇӉӋӍӐӒӔӖӘӚӜӞӠӢӤӦӨӪӬӮӰӲӴӶӸԀԂԄԆԈԊԌԎԱԲԳԴԵԶԷԸԹԺԻԼԽԾԿՀՁՂՃՄՅՆՇՈՉՊՋՌՍՎՏՐՑՒՓՔՕՖႠႡႢႣႤႥႦႧႨႩႪႫႬႭႮႯႰႱႲႳႴႵႶႷႸႹႺႻႼႽႾႿჀჁჂჃჄჅḀḂḄḆḈḊḌḎḐḒḔḖḘḚḜḞḠḢḤḦḨḪḬḮḰḲḴḶḸḺḼḾṀṂṄṆṈṊṌṎṐṒṔṖṘṚṜṞṠṢṤṦṨṪṬṮṰṲṴṶṸṺṼṾẀẂẄẆẈẊẌẎẐẒẔẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼẾỀỂỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪỬỮỰỲỴỶỸἈἉἊἋἌἍἎἏἘἙἚἛἜἝἨἩἪἫἬἭἮἯἸἹἺἻἼἽἾἿὈὉὊὋὌὍὙὛὝὟὨὩὪὫὬὭὮὯᾸᾹᾺΆῈΈῊΉῘῙῚΊῨῩῪΎῬῸΌῺΏabcdefghijklmnopqrstuvwxyzªµºßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿāăąćĉċčďđēĕėęěĝğġģĥħĩīĭįıijĵķĸĺļľŀłńņňʼnŋōŏőœŕŗřśŝşšţťŧũūŭůűųŵŷźżžſƀƃƅƈƌƍƒƕƙƚƛƞơƣƥƨƪƫƭưƴƶƹƺƽƾƿdžljnjǎǐǒǔǖǘǚǜǝǟǡǣǥǧǩǫǭǯǰdzǵǹǻǽǿȁȃȅȇȉȋȍȏȑȓȕȗșțȝȟȡȣȥȧȩȫȭȯȱȳȴȵȶȷȸȹȼȿɀɐɑɒɓɔɕɖɗɘəɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯΐάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώϐϑϕϖϗϙϛϝϟϡϣϥϧϩϫϭϯϰϱϲϳϵϸϻϼабвгдежзийклмнопрстуфхцчшщъыьэюяѐёђѓєѕіїјљњћќѝўџѡѣѥѧѩѫѭѯѱѳѵѷѹѻѽѿҁҋҍҏґғҕҗҙқҝҟҡңҥҧҩҫҭүұҳҵҷҹһҽҿӂӄӆӈӊӌӎӑӓӕӗәӛӝӟӡӣӥӧөӫӭӯӱӳӵӷӹԁԃԅԇԉԋԍԏաբգդեզէըթժիլխծկհձղճմյնշոչպջռսվտրցւփքօֆևᴀᴁᴂᴃᴄᴅᴆᴇᴈᴉᴊᴋᴌᴍᴎᴏᴐᴑᴒᴓᴔᴕᴖᴗᴘᴙᴚᴛᴜᴝᴞᴟᴠᴡᴢᴣᴤᴥᴦᴧᴨᴩᴪᴫᵢᵣᵤᵥᵦᵧᵨᵩᵪᵫᵬᵭᵮᵯᵰᵱᵲᵳᵴᵵᵶᵷᵹᵺᵻᵼᵽᵾᵿᶀᶁᶂᶃᶄᶅᶆᶇᶈᶉᶊᶋᶌᶍᶎᶏᶐᶑᶒᶓᶔᶕᶖᶗᶘᶙᶚḁḃḅḇḉḋḍḏḑḓḕḗḙḛḝḟḡḣḥḧḩḫḭḯḱḳḵḷḹḻḽḿṁṃṅṇṉṋṍṏṑṓṕṗṙṛṝṟṡṣṥṧṩṫṭṯṱṳṵṷṹṻṽṿẁẃẅẇẉẋẍẏẑẓẕẖẗẘẙẚẛạảấầẩẫậắằẳẵặẹẻẽếềểễệỉịọỏốồổỗộớờởỡợụủứừửữựỳỵỷỹἀἁἂἃἄἅἆἇἐἑἒἓἔἕἠἡἢἣἤἥἦἧἰἱἲἳἴἵἶἷὀὁὂὃὄὅὐὑὒὓὔὕὖὗὠὡὢὣὤὥὦὧὰάὲέὴήὶίὸόὺύὼώᾀᾁᾂᾃᾄᾅᾆᾇᾐᾑᾒᾓᾔᾕᾖᾗᾠᾡᾢᾣᾤᾥᾦᾧᾰᾱᾲᾳᾴᾶᾷιῂῃῄῆῇῐῑῒΐῖῗῠῡῢΰῤῥῦῧῲῳῴῶῷⲁⲃⲅⲇⲉⲋⲍⲏⲑⲓⲕⲗⲙⲛⲝⲟⲡⲣⲥⲧⲩⲫⲭⲯⲱⲳⲵⲷⲹⲻⲽⲿⳁⳃⳅⳇⳉⳋⳍⳏⳑⳓⳕⳗⳙⳛⳝⳟⳡⳣⳤⴀⴁⴂⴃⴄⴅⴆⴇⴈⴉⴊⴋⴌⴍⴎⴏⴐⴑⴒⴓⴔⴕⴖⴗⴘⴙⴚⴛⴜⴝⴞⴟⴠⴡⴢⴣⴤⴥfffiflffifflſtstﬓﬔﬕﬖﬗ\d-_^]/8
1017
1018 /^[^d]*?$/
1019     abc
1020  0: abc
1021
1022 /^[^d]*?$/8
1023     abc
1024  0: abc
1025
1026 /^[^d]*?$/i
1027     abc
1028  0: abc
1029
1030 /^[^d]*?$/8i
1031     abc
1032  0: abc
1033
1034 /(?i)[\xc3\xa9\xc3\xbd]|[\xc3\xa9\xc3\xbdA]/8
1035
1036 /^[a\x{c0}]b/8
1037     \x{c0}b
1038  0: \x{c0}b
1039     
1040 /^([a\x{c0}]*?)aa/8
1041     a\x{c0}aaaa/ 
1042  0: a\x{c0}aa
1043  1: a\x{c0}
1044
1045 /^([a\x{c0}]*?)aa/8
1046     a\x{c0}aaaa/ 
1047  0: a\x{c0}aa
1048  1: a\x{c0}
1049     a\x{c0}a\x{c0}aaa/ 
1050  0: a\x{c0}a\x{c0}aa
1051  1: a\x{c0}a\x{c0}
1052
1053 /^([a\x{c0}]*)aa/8
1054     a\x{c0}aaaa/ 
1055  0: a\x{c0}aaaa
1056  1: a\x{c0}aa
1057     a\x{c0}a\x{c0}aaa/ 
1058  0: a\x{c0}a\x{c0}aaa
1059  1: a\x{c0}a\x{c0}a
1060
1061 /^([a\x{c0}]*)a\x{c0}/8
1062     a\x{c0}aaaa/ 
1063  0: a\x{c0}
1064  1: 
1065     a\x{c0}a\x{c0}aaa/ 
1066  0: a\x{c0}a\x{c0}
1067  1: a\x{c0}
1068
1069 /A*/g8
1070     AAB\x{123}BAA
1071  0: AA
1072  0: 
1073  0: 
1074  0: 
1075  0: AA
1076  0: 
1077
1078 /(abc)\1/8i
1079    abc
1080 No match
1081
1082 /(abc)\1/8
1083    abc
1084 No match
1085
1086 /a(*:a\x{1234}b)/8K
1087     abc
1088  0: a
1089 MK: a\x{1234}b
1090
1091 /a(*:a£b)/8K 
1092     abc
1093  0: a
1094 MK: a\x{a3}b
1095
1096 /-- Noncharacters --/
1097
1098 /./8
1099     \x{fffe}
1100  0: \x{fffe}
1101     \x{ffff}
1102  0: \x{ffff}
1103     \x{1fffe}
1104  0: \x{1fffe}
1105     \x{1ffff}
1106  0: \x{1ffff}
1107     \x{2fffe}
1108  0: \x{2fffe}
1109     \x{2ffff}
1110  0: \x{2ffff}
1111     \x{3fffe}
1112  0: \x{3fffe}
1113     \x{3ffff}
1114  0: \x{3ffff}
1115     \x{4fffe}
1116  0: \x{4fffe}
1117     \x{4ffff}
1118  0: \x{4ffff}
1119     \x{5fffe}
1120  0: \x{5fffe}
1121     \x{5ffff}
1122  0: \x{5ffff}
1123     \x{6fffe}
1124  0: \x{6fffe}
1125     \x{6ffff}
1126  0: \x{6ffff}
1127     \x{7fffe}
1128  0: \x{7fffe}
1129     \x{7ffff}
1130  0: \x{7ffff}
1131     \x{8fffe}
1132  0: \x{8fffe}
1133     \x{8ffff}
1134  0: \x{8ffff}
1135     \x{9fffe}
1136  0: \x{9fffe}
1137     \x{9ffff}
1138  0: \x{9ffff}
1139     \x{afffe}
1140  0: \x{afffe}
1141     \x{affff}
1142  0: \x{affff}
1143     \x{bfffe}
1144  0: \x{bfffe}
1145     \x{bffff}
1146  0: \x{bffff}
1147     \x{cfffe}
1148  0: \x{cfffe}
1149     \x{cffff}
1150  0: \x{cffff}
1151     \x{dfffe}
1152  0: \x{dfffe}
1153     \x{dffff}
1154  0: \x{dffff}
1155     \x{efffe}
1156  0: \x{efffe}
1157     \x{effff}
1158  0: \x{effff}
1159     \x{ffffe}
1160  0: \x{ffffe}
1161     \x{fffff}
1162  0: \x{fffff}
1163     \x{10fffe}
1164  0: \x{10fffe}
1165     \x{10ffff}
1166  0: \x{10ffff}
1167     \x{fdd0}
1168  0: \x{fdd0}
1169     \x{fdd1}
1170  0: \x{fdd1}
1171     \x{fdd2}
1172  0: \x{fdd2}
1173     \x{fdd3}
1174  0: \x{fdd3}
1175     \x{fdd4}
1176  0: \x{fdd4}
1177     \x{fdd5}
1178  0: \x{fdd5}
1179     \x{fdd6}
1180  0: \x{fdd6}
1181     \x{fdd7}
1182  0: \x{fdd7}
1183     \x{fdd8}
1184  0: \x{fdd8}
1185     \x{fdd9}
1186  0: \x{fdd9}
1187     \x{fdda}
1188  0: \x{fdda}
1189     \x{fddb}
1190  0: \x{fddb}
1191     \x{fddc}
1192  0: \x{fddc}
1193     \x{fddd}
1194  0: \x{fddd}
1195     \x{fdde}
1196  0: \x{fdde}
1197     \x{fddf}
1198  0: \x{fddf}
1199     \x{fde0}
1200  0: \x{fde0}
1201     \x{fde1}
1202  0: \x{fde1}
1203     \x{fde2}
1204  0: \x{fde2}
1205     \x{fde3}
1206  0: \x{fde3}
1207     \x{fde4}
1208  0: \x{fde4}
1209     \x{fde5}
1210  0: \x{fde5}
1211     \x{fde6}
1212  0: \x{fde6}
1213     \x{fde7}
1214  0: \x{fde7}
1215     \x{fde8}
1216  0: \x{fde8}
1217     \x{fde9}
1218  0: \x{fde9}
1219     \x{fdea}
1220  0: \x{fdea}
1221     \x{fdeb}
1222  0: \x{fdeb}
1223     \x{fdec}
1224  0: \x{fdec}
1225     \x{fded}
1226  0: \x{fded}
1227     \x{fdee}
1228  0: \x{fdee}
1229     \x{fdef}
1230  0: \x{fdef}
1231
1232 /^\d*\w{4}/8
1233     1234
1234  0: 1234
1235     123 
1236 No match
1237     
1238 /^[^b]*\w{4}/8
1239     aaaa
1240  0: aaaa
1241     aaa  
1242 No match
1243  
1244 /^[^b]*\w{4}/8i
1245     aaaa
1246  0: aaaa
1247     aaa  
1248 No match
1249  
1250 /^\x{100}*.{4}/8
1251     \x{100}\x{100}\x{100}\x{100}
1252  0: \x{100}\x{100}\x{100}\x{100}
1253     \x{100}\x{100}\x{100}
1254 No match
1255
1256 /^\x{100}*.{4}/8i
1257     \x{100}\x{100}\x{100}\x{100}
1258  0: \x{100}\x{100}\x{100}\x{100}
1259     \x{100}\x{100}\x{100}
1260 No match
1261
1262 /^a+[a\x{200}]/8
1263     aa
1264  0: aa
1265
1266 /^.\B.\B./8
1267     \x{10123}\x{10124}\x{10125}
1268  0: \x{10123}\x{10124}\x{10125}
1269
1270 /^#[^\x{ffff}]#[^\x{ffff}]#[^\x{ffff}]#/8
1271     #\x{10000}#\x{100}#\x{10ffff}#
1272  0: #\x{10000}#\x{100}#\x{10ffff}#
1273
1274 /-- End of testinput4 --/