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     a\x7fb
     10     a\x{100}b 
     11     *** Failers
     12     a\nb  
     13 
     14 /a(.{3})b/8
     15     a\x{4000}xyb 
     16     a\x{4000}\x7fyb 
     17     a\x{4000}\x{100}yb 
     18     *** Failers
     19     a\x{4000}b 
     20     ac\ncb 
     21 
     22 /a(.*?)(.)/
     23     a\xc0\x88b
     24 
     25 /a(.*?)(.)/8
     26     a\x{100}b
     27 
     28 /a(.*)(.)/
     29     a\xc0\x88b
     30 
     31 /a(.*)(.)/8
     32     a\x{100}b
     33 
     34 /a(.)(.)/
     35     a\xc0\x92bcd
     36 
     37 /a(.)(.)/8
     38     a\x{240}bcd
     39 
     40 /a(.?)(.)/
     41     a\xc0\x92bcd
     42 
     43 /a(.?)(.)/8
     44     a\x{240}bcd
     45 
     46 /a(.??)(.)/
     47     a\xc0\x92bcd
     48 
     49 /a(.??)(.)/8
     50     a\x{240}bcd
     51 
     52 /a(.{3})b/8
     53     a\x{1234}xyb 
     54     a\x{1234}\x{4321}yb 
     55     a\x{1234}\x{4321}\x{3412}b 
     56     *** Failers
     57     a\x{1234}b 
     58     ac\ncb 
     59 
     60 /a(.{3,})b/8
     61     a\x{1234}xyb 
     62     a\x{1234}\x{4321}yb 
     63     a\x{1234}\x{4321}\x{3412}b 
     64     axxxxbcdefghijb 
     65     a\x{1234}\x{4321}\x{3412}\x{3421}b 
     66     *** Failers
     67     a\x{1234}b 
     68 
     69 /a(.{3,}?)b/8
     70     a\x{1234}xyb 
     71     a\x{1234}\x{4321}yb 
     72     a\x{1234}\x{4321}\x{3412}b 
     73     axxxxbcdefghijb 
     74     a\x{1234}\x{4321}\x{3412}\x{3421}b 
     75     *** Failers
     76     a\x{1234}b 
     77 
     78 /a(.{3,5})b/8
     79     a\x{1234}xyb 
     80     a\x{1234}\x{4321}yb 
     81     a\x{1234}\x{4321}\x{3412}b 
     82     axxxxbcdefghijb 
     83     a\x{1234}\x{4321}\x{3412}\x{3421}b 
     84     axbxxbcdefghijb 
     85     axxxxxbcdefghijb 
     86     *** Failers
     87     a\x{1234}b 
     88     axxxxxxbcdefghijb 
     89 
     90 /a(.{3,5}?)b/8
     91     a\x{1234}xyb 
     92     a\x{1234}\x{4321}yb 
     93     a\x{1234}\x{4321}\x{3412}b 
     94     axxxxbcdefghijb 
     95     a\x{1234}\x{4321}\x{3412}\x{3421}b 
     96     axbxxbcdefghijb 
     97     axxxxxbcdefghijb 
     98     *** Failers
     99     a\x{1234}b 
    100     axxxxxxbcdefghijb 
    101 
    102 /^[a\x{c0}]/8
    103     *** Failers
    104     \x{100}
    105 
    106 /(?<=aXb)cd/8
    107     aXbcd
    108 
    109 /(?<=a\x{100}b)cd/8
    110     a\x{100}bcd
    111 
    112 /(?<=a\x{100000}b)cd/8
    113     a\x{100000}bcd
    114     
    115 /(?:\x{100}){3}b/8
    116     \x{100}\x{100}\x{100}b
    117     *** Failers 
    118     \x{100}\x{100}b
    119 
    120 /\x{ab}/8
    121     \x{ab} 
    122     \xc2\xab
    123     *** Failers 
    124     \x00{ab}
    125 
    126 /(?<=(.))X/8
    127     WXYZ
    128     \x{256}XYZ 
    129     *** Failers
    130     XYZ 
    131 
    132 /[^a]+/8g
    133     bcd
    134     \x{100}aY\x{256}Z 
    135     
    136 /^[^a]{2}/8
    137     \x{100}bc
    138  
    139 /^[^a]{2,}/8
    140     \x{100}bcAa
    141 
    142 /^[^a]{2,}?/8
    143     \x{100}bca
    144 
    145 /[^a]+/8ig
    146     bcd
    147     \x{100}aY\x{256}Z 
    148     
    149 /^[^a]{2}/8i
    150     \x{100}bc
    151  
    152 /^[^a]{2,}/8i
    153     \x{100}bcAa
    154 
    155 /^[^a]{2,}?/8i
    156     \x{100}bca
    157 
    158 /\x{100}{0,0}/8
    159     abcd
    160  
    161 /\x{100}?/8
    162     abcd
    163     \x{100}\x{100} 
    164 
    165 /\x{100}{0,3}/8 
    166     \x{100}\x{100} 
    167     \x{100}\x{100}\x{100}\x{100} 
    168     
    169 /\x{100}*/8
    170     abce
    171     \x{100}\x{100}\x{100}\x{100} 
    172 
    173 /\x{100}{1,1}/8
    174     abcd\x{100}\x{100}\x{100}\x{100} 
    175 
    176 /\x{100}{1,3}/8
    177     abcd\x{100}\x{100}\x{100}\x{100} 
    178 
    179 /\x{100}+/8
    180     abcd\x{100}\x{100}\x{100}\x{100} 
    181 
    182 /\x{100}{3}/8
    183     abcd\x{100}\x{100}\x{100}XX
    184 
    185 /\x{100}{3,5}/8
    186     abcd\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}XX
    187 
    188 /\x{100}{3,}/8
    189     abcd\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}XX
    190 
    191 /(?<=a\x{100}{2}b)X/8+
    192     Xyyya\x{100}\x{100}bXzzz
    193 
    194 /\D*/8
    195   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    196 
    197 /\D*/8
    198   \x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}
    199 
    200 /\D/8
    201     1X2
    202     1\x{100}2 
    203   
    204 />\S/8
    205     > >X Y
    206     > >\x{100} Y
    207   
    208 /\d/8
    209     \x{100}3
    210     
    211 /\s/8
    212     \x{100} X
    213     
    214 /\D+/8
    215     12abcd34
    216     *** Failers
    217     1234  
    218 
    219 /\D{2,3}/8
    220     12abcd34
    221     12ab34
    222     *** Failers  
    223     1234
    224     12a34  
    225 
    226 /\D{2,3}?/8
    227     12abcd34
    228     12ab34
    229     *** Failers  
    230     1234
    231     12a34  
    232 
    233 /\d+/8
    234     12abcd34
    235     *** Failers
    236 
    237 /\d{2,3}/8
    238     12abcd34
    239     1234abcd
    240     *** Failers  
    241     1.4 
    242 
    243 /\d{2,3}?/8
    244     12abcd34
    245     1234abcd
    246     *** Failers  
    247     1.4 
    248 
    249 /\S+/8
    250     12abcd34
    251     *** Failers
    252     \    \ 
    253 
    254 /\S{2,3}/8
    255     12abcd34
    256     1234abcd
    257     *** Failers
    258     \     \  
    259 
    260 /\S{2,3}?/8
    261     12abcd34
    262     1234abcd
    263     *** Failers
    264     \     \  
    265 
    266 />\s+</8+
    267     12>      <34
    268     *** Failers
    269 
    270 />\s{2,3}</8+
    271     ab>  <cd
    272     ab>   <ce
    273     *** Failers
    274     ab>    <cd 
    275 
    276 />\s{2,3}?</8+
    277     ab>  <cd
    278     ab>   <ce
    279     *** Failers
    280     ab>    <cd 
    281 
    282 /\w+/8
    283     12      34
    284     *** Failers
    285     +++=*! 
    286 
    287 /\w{2,3}/8
    288     ab  cd
    289     abcd ce
    290     *** Failers
    291     a.b.c
    292 
    293 /\w{2,3}?/8
    294     ab  cd
    295     abcd ce
    296     *** Failers
    297     a.b.c
    298 
    299 /\W+/8
    300     12====34
    301     *** Failers
    302     abcd 
    303 
    304 /\W{2,3}/8
    305     ab====cd
    306     ab==cd
    307     *** Failers
    308     a.b.c
    309 
    310 /\W{2,3}?/8
    311     ab====cd
    312     ab==cd
    313     *** Failers
    314     a.b.c
    315 
    316 /[\x{100}]/8
    317     \x{100}
    318     Z\x{100}
    319     \x{100}Z
    320     *** Failers 
    321 
    322 /[Z\x{100}]/8
    323     Z\x{100}
    324     \x{100}
    325     \x{100}Z
    326     *** Failers 
    327 
    328 /[\x{100}\x{200}]/8
    329    ab\x{100}cd
    330    ab\x{200}cd
    331    *** Failers  
    332 
    333 /[\x{100}-\x{200}]/8
    334    ab\x{100}cd
    335    ab\x{200}cd
    336    ab\x{111}cd 
    337    *** Failers  
    338 
    339 /[z-\x{200}]/8
    340    ab\x{100}cd
    341    ab\x{200}cd
    342    ab\x{111}cd 
    343    abzcd
    344    ab|cd  
    345    *** Failers  
    346 
    347 /[Q\x{100}\x{200}]/8
    348    ab\x{100}cd
    349    ab\x{200}cd
    350    Q? 
    351    *** Failers  
    352 
    353 /[Q\x{100}-\x{200}]/8
    354    ab\x{100}cd
    355    ab\x{200}cd
    356    ab\x{111}cd 
    357    Q? 
    358    *** Failers  
    359 
    360 /[Qz-\x{200}]/8
    361    ab\x{100}cd
    362    ab\x{200}cd
    363    ab\x{111}cd 
    364    abzcd
    365    ab|cd  
    366    Q? 
    367    *** Failers  
    368 
    369 /[\x{100}\x{200}]{1,3}/8
    370    ab\x{100}cd
    371    ab\x{200}cd
    372    ab\x{200}\x{100}\x{200}\x{100}cd
    373    *** Failers  
    374 
    375 /[\x{100}\x{200}]{1,3}?/8
    376    ab\x{100}cd
    377    ab\x{200}cd
    378    ab\x{200}\x{100}\x{200}\x{100}cd
    379    *** Failers  
    380 
    381 /[Q\x{100}\x{200}]{1,3}/8
    382    ab\x{100}cd
    383    ab\x{200}cd
    384    ab\x{200}\x{100}\x{200}\x{100}cd
    385    *** Failers  
    386 
    387 /[Q\x{100}\x{200}]{1,3}?/8
    388    ab\x{100}cd
    389    ab\x{200}cd
    390    ab\x{200}\x{100}\x{200}\x{100}cd
    391    *** Failers  
    392 
    393 /(?<=[\x{100}\x{200}])X/8
    394     abc\x{200}X
    395     abc\x{100}X 
    396     *** Failers
    397     X  
    398 
    399 /(?<=[Q\x{100}\x{200}])X/8
    400     abc\x{200}X
    401     abc\x{100}X 
    402     abQX 
    403     *** Failers
    404     X  
    405 
    406 /(?<=[\x{100}\x{200}]{3})X/8
    407     abc\x{100}\x{200}\x{100}X
    408     *** Failers
    409     abc\x{200}X
    410     X  
    411 
    412 /[^\x{100}\x{200}]X/8
    413     AX
    414     \x{150}X
    415     \x{500}X 
    416     *** Failers
    417     \x{100}X
    418     \x{200}X   
    419 
    420 /[^Q\x{100}\x{200}]X/8
    421     AX
    422     \x{150}X
    423     \x{500}X 
    424     *** Failers
    425     \x{100}X
    426     \x{200}X   
    427     QX 
    428 
    429 /[^\x{100}-\x{200}]X/8
    430     AX
    431     \x{500}X 
    432     *** Failers
    433     \x{100}X
    434     \x{150}X
    435     \x{200}X   
    436 
    437 /[z-\x{100}]/8i
    438     z
    439     Z 
    440     \x{100}
    441     *** Failers
    442     \x{102}
    443     y    
    444 
    445 /[\xFF]/
    446     >\xff<
    447 
    448 /[\xff]/8
    449     >\x{ff}<
    450 
    451 /[^\xFF]/
    452     XYZ
    453 
    454 /[^\xff]/8
    455     XYZ
    456     \x{123} 
    457 
    458 /^[ac]*b/8
    459   xb
    460 
    461 /^[ac\x{100}]*b/8
    462   xb
    463 
    464 /^[^x]*b/8i
    465   xb
    466 
    467 /^[^x]*b/8
    468   xb
    469   
    470 /^\d*b/8
    471   xb 
    472 
    473 /(|a)/g8
    474     catac
    475     a\x{256}a 
    476 
    477 /^\x{85}$/8i
    478     \x{85}
    479 
    480 /^/8
    481      
    482 
    483 /^\/8
    484      
    485 
    486 "(?s)(.{1,5})"8
    487     abcdefg
    488     ab
    489 
    490 /a*\x{100}*\w/8
    491     a 
    492 
    493 /\S\S/8g
    494     A\x{a3}BC
    495     
    496 /\S{2}/8g
    497     A\x{a3}BC
    498     
    499 /\W\W/8g
    500     +\x{a3}== 
    501 
    502 /\W{2}/8g
    503     +\x{a3}== 
    504 
    505 /\S/8g
    506     \x{442}\x{435}\x{441}\x{442}
    507 
    508 /[\S]/8g
    509     \x{442}\x{435}\x{441}\x{442}
    510 
    511 /\D/8g
    512     \x{442}\x{435}\x{441}\x{442}
    513 
    514 /[\D]/8g
    515     \x{442}\x{435}\x{441}\x{442}
    516 
    517 /\W/8g
    518     \x{2442}\x{2435}\x{2441}\x{2442}
    519 
    520 /[\W]/8g
    521     \x{2442}\x{2435}\x{2441}\x{2442}
    522     
    523 /[\S\s]*/8
    524     abc\n\r\x{442}\x{435}\x{441}\x{442}xyz 
    525 
    526 /[\x{41f}\S]/8g
    527     \x{442}\x{435}\x{441}\x{442}
    528 
    529 /.[^\S]./8g
    530     abc def\x{442}\x{443}xyz\npqr
    531 
    532 /.[^\S\n]./8g
    533     abc def\x{442}\x{443}xyz\npqr
    534 
    535 /[[:^alnum:]]/8g  
    536     +\x{2442}
    537     
    538 /[[:^alpha:]]/8g 
    539     +\x{2442}
    540     
    541 /[[:^ascii:]]/8g 
    542     A\x{442}
    543     
    544 /[[:^blank:]]/8g 
    545     A\x{442}
    546     
    547 /[[:^cntrl:]]/8g 
    548     A\x{442}
    549     
    550 /[[:^digit:]]/8g 
    551     A\x{442}
    552     
    553 /[[:^graph:]]/8g 
    554     \x19\x{e01ff}
    555     
    556 /[[:^lower:]]/8g 
    557     A\x{422}
    558     
    559 /[[:^print:]]/8g 
    560     \x{19}\x{e01ff}
    561     
    562 /[[:^punct:]]/8g 
    563     A\x{442}
    564     
    565 /[[:^space:]]/8g 
    566     A\x{442}
    567     
    568 /[[:^upper:]]/8g 
    569     a\x{442}
    570     
    571 /[[:^word:]]/8g  
    572     +\x{2442}
    573     
    574 /[[:^xdigit:]]/8g
    575     M\x{442}
    576 
    577 /[^ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\d-_^]/8
    578 
    579 /^[^d]*?$/
    580     abc
    581 
    582 /^[^d]*?$/8
    583     abc
    584 
    585 /^[^d]*?$/i
    586     abc
    587 
    588 /^[^d]*?$/8i
    589     abc
    590 
    591 /(?i)[\xc3\xa9\xc3\xbd]|[\xc3\xa9\xc3\xbdA]/8
    592 
    593 /^[a\x{c0}]b/8
    594     \x{c0}b
    595     
    596 /^([a\x{c0}]*?)aa/8
    597     a\x{c0}aaaa/ 
    598 
    599 /^([a\x{c0}]*?)aa/8
    600     a\x{c0}aaaa/ 
    601     a\x{c0}a\x{c0}aaa/ 
    602 
    603 /^([a\x{c0}]*)aa/8
    604     a\x{c0}aaaa/ 
    605     a\x{c0}a\x{c0}aaa/ 
    606 
    607 /^([a\x{c0}]*)a\x{c0}/8
    608     a\x{c0}aaaa/ 
    609     a\x{c0}a\x{c0}aaa/ 
    610 
    611 /A*/g8
    612     AAB\x{123}BAA
    613 
    614 /(abc)\1/8i
    615    abc
    616 
    617 /(abc)\1/8
    618    abc
    619 
    620 /a(*:a\x{1234}b)/8K
    621     abc
    622 
    623 /a(*:ab)/8K 
    624     abc
    625 
    626 /-- Noncharacters --/
    627 
    628 /./8
    629     \x{fffe}
    630     \x{ffff}
    631     \x{1fffe}
    632     \x{1ffff}
    633     \x{2fffe}
    634     \x{2ffff}
    635     \x{3fffe}
    636     \x{3ffff}
    637     \x{4fffe}
    638     \x{4ffff}
    639     \x{5fffe}
    640     \x{5ffff}
    641     \x{6fffe}
    642     \x{6ffff}
    643     \x{7fffe}
    644     \x{7ffff}
    645     \x{8fffe}
    646     \x{8ffff}
    647     \x{9fffe}
    648     \x{9ffff}
    649     \x{afffe}
    650     \x{affff}
    651     \x{bfffe}
    652     \x{bffff}
    653     \x{cfffe}
    654     \x{cffff}
    655     \x{dfffe}
    656     \x{dffff}
    657     \x{efffe}
    658     \x{effff}
    659     \x{ffffe}
    660     \x{fffff}
    661     \x{10fffe}
    662     \x{10ffff}
    663     \x{fdd0}
    664     \x{fdd1}
    665     \x{fdd2}
    666     \x{fdd3}
    667     \x{fdd4}
    668     \x{fdd5}
    669     \x{fdd6}
    670     \x{fdd7}
    671     \x{fdd8}
    672     \x{fdd9}
    673     \x{fdda}
    674     \x{fddb}
    675     \x{fddc}
    676     \x{fddd}
    677     \x{fdde}
    678     \x{fddf}
    679     \x{fde0}
    680     \x{fde1}
    681     \x{fde2}
    682     \x{fde3}
    683     \x{fde4}
    684     \x{fde5}
    685     \x{fde6}
    686     \x{fde7}
    687     \x{fde8}
    688     \x{fde9}
    689     \x{fdea}
    690     \x{fdeb}
    691     \x{fdec}
    692     \x{fded}
    693     \x{fdee}
    694     \x{fdef}
    695 
    696 /^\d*\w{4}/8
    697     1234
    698     123 
    699     
    700 /^[^b]*\w{4}/8
    701     aaaa
    702     aaa  
    703  
    704 /^[^b]*\w{4}/8i
    705     aaaa
    706     aaa  
    707  
    708 /^\x{100}*.{4}/8
    709     \x{100}\x{100}\x{100}\x{100}
    710     \x{100}\x{100}\x{100}
    711 
    712 /^\x{100}*.{4}/8i
    713     \x{100}\x{100}\x{100}\x{100}
    714     \x{100}\x{100}\x{100}
    715 
    716 /^a+[a\x{200}]/8
    717     aa
    718 
    719 /^.\B.\B./8
    720     \x{10123}\x{10124}\x{10125}
    721 
    722 /^#[^\x{ffff}]#[^\x{ffff}]#[^\x{ffff}]#/8
    723     #\x{10000}#\x{100}#\x{10ffff}#
    724 
    725 "[\S\V\H]"8
    726 
    727 /\C(\W?)'?{{/8
    728     \\C(\\W?)'?{{
    729 
    730 /-- End of testinput4 --/
    731