Home | History | Annotate | Download | only in testdata
      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 /[^ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\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(*:ab)/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 --/
   1275