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