Home | History | Annotate | Download | only in testdata
      1 /-- This set of tests checks UTF-8 support with the DFA matching functionality
      2     of pcre_dfa_exec(). The -dfa flag must be used with pcretest when running 
      3     it. --/
      4 
      5 /\x{100}ab/8
      6   \x{100}ab
      7   
      8 /a\x{100}*b/8
      9     ab
     10     a\x{100}b  
     11     a\x{100}\x{100}b  
     12     
     13 /a\x{100}+b/8
     14     a\x{100}b  
     15     a\x{100}\x{100}b  
     16     *** Failers 
     17     ab
     18      
     19 /\bX/8
     20     Xoanon
     21     +Xoanon
     22     \x{300}Xoanon 
     23     *** Failers 
     24     YXoanon  
     25     
     26 /\BX/8
     27     YXoanon
     28     *** Failers
     29     Xoanon
     30     +Xoanon    
     31     \x{300}Xoanon 
     32 
     33 /X\b/8
     34     X+oanon
     35     ZX\x{300}oanon 
     36     FAX 
     37     *** Failers 
     38     Xoanon  
     39     
     40 /X\B/8
     41     Xoanon  
     42     *** Failers
     43     X+oanon
     44     ZX\x{300}oanon 
     45     FAX 
     46     
     47 /[^a]/8
     48     abcd
     49     a\x{100}   
     50 
     51 /^[abc\x{123}\x{400}-\x{402}]{2,3}\d/8
     52     ab99
     53     \x{123}\x{123}45
     54     \x{400}\x{401}\x{402}6  
     55     *** Failers
     56     d99
     57     \x{123}\x{122}4   
     58     \x{400}\x{403}6  
     59     \x{400}\x{401}\x{402}\x{402}6  
     60 
     61 /abc/8
     62     ]
     63     
     64     
     65     \?
     66     \xe1\x88 
     67     \P\xe1\x88 
     68     \P\P\xe1\x88 
     69 
     70 /a.b/8
     71     acb
     72     a\x7fb
     73     a\x{100}b 
     74     *** Failers
     75     a\nb  
     76 
     77 /a(.{3})b/8
     78     a\x{4000}xyb 
     79     a\x{4000}\x7fyb 
     80     a\x{4000}\x{100}yb 
     81     *** Failers
     82     a\x{4000}b 
     83     ac\ncb 
     84 
     85 /a(.*?)(.)/
     86     a\xc0\x88b
     87 
     88 /a(.*?)(.)/8
     89     a\x{100}b
     90 
     91 /a(.*)(.)/
     92     a\xc0\x88b
     93 
     94 /a(.*)(.)/8
     95     a\x{100}b
     96 
     97 /a(.)(.)/
     98     a\xc0\x92bcd
     99 
    100 /a(.)(.)/8
    101     a\x{240}bcd
    102 
    103 /a(.?)(.)/
    104     a\xc0\x92bcd
    105 
    106 /a(.?)(.)/8
    107     a\x{240}bcd
    108 
    109 /a(.??)(.)/
    110     a\xc0\x92bcd
    111 
    112 /a(.??)(.)/8
    113     a\x{240}bcd
    114 
    115 /a(.{3})b/8
    116     a\x{1234}xyb 
    117     a\x{1234}\x{4321}yb 
    118     a\x{1234}\x{4321}\x{3412}b 
    119     *** Failers
    120     a\x{1234}b 
    121     ac\ncb 
    122 
    123 /a(.{3,})b/8
    124     a\x{1234}xyb 
    125     a\x{1234}\x{4321}yb 
    126     a\x{1234}\x{4321}\x{3412}b 
    127     axxxxbcdefghijb 
    128     a\x{1234}\x{4321}\x{3412}\x{3421}b 
    129     *** Failers
    130     a\x{1234}b 
    131 
    132 /a(.{3,}?)b/8
    133     a\x{1234}xyb 
    134     a\x{1234}\x{4321}yb 
    135     a\x{1234}\x{4321}\x{3412}b 
    136     axxxxbcdefghijb 
    137     a\x{1234}\x{4321}\x{3412}\x{3421}b 
    138     *** Failers
    139     a\x{1234}b 
    140 
    141 /a(.{3,5})b/8
    142     a\x{1234}xyb 
    143     a\x{1234}\x{4321}yb 
    144     a\x{1234}\x{4321}\x{3412}b 
    145     axxxxbcdefghijb 
    146     a\x{1234}\x{4321}\x{3412}\x{3421}b 
    147     axbxxbcdefghijb 
    148     axxxxxbcdefghijb 
    149     *** Failers
    150     a\x{1234}b 
    151     axxxxxxbcdefghijb 
    152 
    153 /a(.{3,5}?)b/8
    154     a\x{1234}xyb 
    155     a\x{1234}\x{4321}yb 
    156     a\x{1234}\x{4321}\x{3412}b 
    157     axxxxbcdefghijb 
    158     a\x{1234}\x{4321}\x{3412}\x{3421}b 
    159     axbxxbcdefghijb 
    160     axxxxxbcdefghijb 
    161     *** Failers
    162     a\x{1234}b 
    163     axxxxxxbcdefghijb 
    164 
    165 /^[a\x{c0}]/8
    166     *** Failers
    167     \x{100}
    168 
    169 /(?<=aXb)cd/8
    170     aXbcd
    171 
    172 /(?<=a\x{100}b)cd/8
    173     a\x{100}bcd
    174 
    175 /(?<=a\x{100000}b)cd/8
    176     a\x{100000}bcd
    177     
    178 /(?:\x{100}){3}b/8
    179     \x{100}\x{100}\x{100}b
    180     *** Failers 
    181     \x{100}\x{100}b
    182 
    183 /\x{ab}/8
    184     \x{ab} 
    185     \xc2\xab
    186     *** Failers 
    187     \x00{ab}
    188 
    189 /(?<=(.))X/8
    190     WXYZ
    191     \x{256}XYZ 
    192     *** Failers
    193     XYZ 
    194 
    195 /[^a]+/8g
    196     bcd
    197     \x{100}aY\x{256}Z 
    198     
    199 /^[^a]{2}/8
    200     \x{100}bc
    201  
    202 /^[^a]{2,}/8
    203     \x{100}bcAa
    204 
    205 /^[^a]{2,}?/8
    206     \x{100}bca
    207 
    208 /[^a]+/8ig
    209     bcd
    210     \x{100}aY\x{256}Z 
    211     
    212 /^[^a]{2}/8i
    213     \x{100}bc
    214  
    215 /^[^a]{2,}/8i
    216     \x{100}bcAa
    217 
    218 /^[^a]{2,}?/8i
    219     \x{100}bca
    220 
    221 /\x{100}{0,0}/8
    222     abcd
    223  
    224 /\x{100}?/8
    225     abcd
    226     \x{100}\x{100} 
    227 
    228 /\x{100}{0,3}/8 
    229     \x{100}\x{100} 
    230     \x{100}\x{100}\x{100}\x{100} 
    231     
    232 /\x{100}*/8
    233     abce
    234     \x{100}\x{100}\x{100}\x{100} 
    235 
    236 /\x{100}{1,1}/8
    237     abcd\x{100}\x{100}\x{100}\x{100} 
    238 
    239 /\x{100}{1,3}/8
    240     abcd\x{100}\x{100}\x{100}\x{100} 
    241 
    242 /\x{100}+/8
    243     abcd\x{100}\x{100}\x{100}\x{100} 
    244 
    245 /\x{100}{3}/8
    246     abcd\x{100}\x{100}\x{100}XX
    247 
    248 /\x{100}{3,5}/8
    249     abcd\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}XX
    250 
    251 /\x{100}{3,}/8
    252     abcd\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}XX
    253 
    254 /(?<=a\x{100}{2}b)X/8
    255     Xyyya\x{100}\x{100}bXzzz
    256 
    257 /\D*/8
    258   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    259 
    260 /\D*/8
    261   \x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}
    262 
    263 /\D/8
    264     1X2
    265     1\x{100}2 
    266   
    267 />\S/8
    268     > >X Y
    269     > >\x{100} Y
    270   
    271 /\d/8
    272     \x{100}3
    273     
    274 /\s/8
    275     \x{100} X
    276     
    277 /\D+/8
    278     12abcd34
    279     *** Failers
    280     1234  
    281 
    282 /\D{2,3}/8
    283     12abcd34
    284     12ab34
    285     *** Failers  
    286     1234
    287     12a34  
    288 
    289 /\D{2,3}?/8
    290     12abcd34
    291     12ab34
    292     *** Failers  
    293     1234
    294     12a34  
    295 
    296 /\d+/8
    297     12abcd34
    298     *** Failers
    299 
    300 /\d{2,3}/8
    301     12abcd34
    302     1234abcd
    303     *** Failers  
    304     1.4 
    305 
    306 /\d{2,3}?/8
    307     12abcd34
    308     1234abcd
    309     *** Failers  
    310     1.4 
    311 
    312 /\S+/8
    313     12abcd34
    314     *** Failers
    315     \    \ 
    316 
    317 /\S{2,3}/8
    318     12abcd34
    319     1234abcd
    320     *** Failers
    321     \     \  
    322 
    323 /\S{2,3}?/8
    324     12abcd34
    325     1234abcd
    326     *** Failers
    327     \     \  
    328 
    329 />\s+</8
    330     12>      <34
    331     *** Failers
    332 
    333 />\s{2,3}</8
    334     ab>  <cd
    335     ab>   <ce
    336     *** Failers
    337     ab>    <cd 
    338 
    339 />\s{2,3}?</8
    340     ab>  <cd
    341     ab>   <ce
    342     *** Failers
    343     ab>    <cd 
    344 
    345 /\w+/8
    346     12      34
    347     *** Failers
    348     +++=*! 
    349 
    350 /\w{2,3}/8
    351     ab  cd
    352     abcd ce
    353     *** Failers
    354     a.b.c
    355 
    356 /\w{2,3}?/8
    357     ab  cd
    358     abcd ce
    359     *** Failers
    360     a.b.c
    361 
    362 /\W+/8
    363     12====34
    364     *** Failers
    365     abcd 
    366 
    367 /\W{2,3}/8
    368     ab====cd
    369     ab==cd
    370     *** Failers
    371     a.b.c
    372 
    373 /\W{2,3}?/8
    374     ab====cd
    375     ab==cd
    376     *** Failers
    377     a.b.c
    378 
    379 /[\x{100}]/8
    380     \x{100}
    381     Z\x{100}
    382     \x{100}Z
    383     *** Failers 
    384 
    385 /[Z\x{100}]/8
    386     Z\x{100}
    387     \x{100}
    388     \x{100}Z
    389     *** Failers 
    390 
    391 /[\x{100}\x{200}]/8
    392    ab\x{100}cd
    393    ab\x{200}cd
    394    *** Failers  
    395 
    396 /[\x{100}-\x{200}]/8
    397    ab\x{100}cd
    398    ab\x{200}cd
    399    ab\x{111}cd 
    400    *** Failers  
    401 
    402 /[z-\x{200}]/8
    403    ab\x{100}cd
    404    ab\x{200}cd
    405    ab\x{111}cd 
    406    abzcd
    407    ab|cd  
    408    *** Failers  
    409 
    410 /[Q\x{100}\x{200}]/8
    411    ab\x{100}cd
    412    ab\x{200}cd
    413    Q? 
    414    *** Failers  
    415 
    416 /[Q\x{100}-\x{200}]/8
    417    ab\x{100}cd
    418    ab\x{200}cd
    419    ab\x{111}cd 
    420    Q? 
    421    *** Failers  
    422 
    423 /[Qz-\x{200}]/8
    424    ab\x{100}cd
    425    ab\x{200}cd
    426    ab\x{111}cd 
    427    abzcd
    428    ab|cd  
    429    Q? 
    430    *** Failers  
    431 
    432 /[\x{100}\x{200}]{1,3}/8
    433    ab\x{100}cd
    434    ab\x{200}cd
    435    ab\x{200}\x{100}\x{200}\x{100}cd
    436    *** Failers  
    437 
    438 /[\x{100}\x{200}]{1,3}?/8
    439    ab\x{100}cd
    440    ab\x{200}cd
    441    ab\x{200}\x{100}\x{200}\x{100}cd
    442    *** Failers  
    443 
    444 /[Q\x{100}\x{200}]{1,3}/8
    445    ab\x{100}cd
    446    ab\x{200}cd
    447    ab\x{200}\x{100}\x{200}\x{100}cd
    448    *** Failers  
    449 
    450 /[Q\x{100}\x{200}]{1,3}?/8
    451    ab\x{100}cd
    452    ab\x{200}cd
    453    ab\x{200}\x{100}\x{200}\x{100}cd
    454    *** Failers  
    455 
    456 /(?<=[\x{100}\x{200}])X/8
    457     abc\x{200}X
    458     abc\x{100}X 
    459     *** Failers
    460     X  
    461 
    462 /(?<=[Q\x{100}\x{200}])X/8
    463     abc\x{200}X
    464     abc\x{100}X 
    465     abQX 
    466     *** Failers
    467     X  
    468 
    469 /(?<=[\x{100}\x{200}]{3})X/8
    470     abc\x{100}\x{200}\x{100}X
    471     *** Failers
    472     abc\x{200}X
    473     X  
    474 
    475 /[^\x{100}\x{200}]X/8
    476     AX
    477     \x{150}X
    478     \x{500}X 
    479     *** Failers
    480     \x{100}X
    481     \x{200}X   
    482 
    483 /[^Q\x{100}\x{200}]X/8
    484     AX
    485     \x{150}X
    486     \x{500}X 
    487     *** Failers
    488     \x{100}X
    489     \x{200}X   
    490     QX 
    491 
    492 /[^\x{100}-\x{200}]X/8
    493     AX
    494     \x{500}X 
    495     *** Failers
    496     \x{100}X
    497     \x{150}X
    498     \x{200}X   
    499 
    500 /[z-\x{100}]/8i
    501     z
    502     Z 
    503     \x{100}
    504     *** Failers
    505     \x{102}
    506     y    
    507 
    508 /[\xFF]/
    509     >\xff<
    510 
    511 /[\xff]/8
    512     >\x{ff}<
    513 
    514 /[^\xFF]/
    515     XYZ
    516 
    517 /[^\xff]/8
    518     XYZ
    519     \x{123} 
    520 
    521 /^[ac]*b/8
    522   xb
    523 
    524 /^[ac\x{100}]*b/8
    525   xb
    526 
    527 /^[^x]*b/8i
    528   xb
    529 
    530 /^[^x]*b/8
    531   xb
    532   
    533 /^\d*b/8
    534   xb 
    535 
    536 /(|a)/g8
    537     catac
    538     a\x{256}a 
    539 
    540 /^\x{85}$/8i
    541     \x{85}
    542 
    543 /^abc./mgx8<any>
    544     abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x{0085}abc7 \x{2028}abc8 \x{2029}abc9 JUNK
    545 
    546 /abc.$/mgx8<any>
    547     abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x{0085} abc7\x{2028} abc8\x{2029} abc9
    548 
    549 /^a\Rb/8<bsr_unicode>
    550     a\nb
    551     a\rb
    552     a\r\nb
    553     a\x0bb
    554     a\x0cb
    555     a\x{85}b   
    556     a\x{2028}b 
    557     a\x{2029}b 
    558     ** Failers
    559     a\n\rb    
    560 
    561 /^a\R*b/8<bsr_unicode>
    562     ab
    563     a\nb
    564     a\rb
    565     a\r\nb
    566     a\x0bb
    567     a\x0c\x{2028}\x{2029}b
    568     a\x{85}b   
    569     a\n\rb    
    570     a\n\r\x{85}\x0cb 
    571 
    572 /^a\R+b/8<bsr_unicode>
    573     a\nb
    574     a\rb
    575     a\r\nb
    576     a\x0bb
    577     a\x0c\x{2028}\x{2029}b
    578     a\x{85}b   
    579     a\n\rb    
    580     a\n\r\x{85}\x0cb 
    581     ** Failers
    582     ab  
    583 
    584 /^a\R{1,3}b/8<bsr_unicode>
    585     a\nb
    586     a\n\rb
    587     a\n\r\x{85}b
    588     a\r\n\r\nb 
    589     a\r\n\r\n\r\nb 
    590     a\n\r\n\rb
    591     a\n\n\r\nb 
    592     ** Failers
    593     a\n\n\n\rb
    594     a\r
    595 
    596 /\h+\V?\v{3,4}/8 
    597     \x09\x20\x{a0}X\x0a\x0b\x0c\x0d\x0a
    598 
    599 /\V?\v{3,4}/8 
    600     \x20\x{a0}X\x0a\x0b\x0c\x0d\x0a
    601 
    602 /\h+\V?\v{3,4}/8
    603     >\x09\x20\x{a0}X\x0a\x0a\x0a<
    604 
    605 /\V?\v{3,4}/8
    606     >\x09\x20\x{a0}X\x0a\x0a\x0a<
    607 
    608 /\H\h\V\v/8
    609     X X\x0a
    610     X\x09X\x0b
    611     ** Failers
    612     \x{a0} X\x0a   
    613     
    614 /\H*\h+\V?\v{3,4}/8 
    615     \x09\x20\x{a0}X\x0a\x0b\x0c\x0d\x0a
    616     \x09\x20\x{a0}\x0a\x0b\x0c\x0d\x0a
    617     \x09\x20\x{a0}\x0a\x0b\x0c
    618     ** Failers 
    619     \x09\x20\x{a0}\x0a\x0b
    620      
    621 /\H\h\V\v/8
    622     \x{3001}\x{3000}\x{2030}\x{2028}
    623     X\x{180e}X\x{85}
    624     ** Failers
    625     \x{2009} X\x0a   
    626     
    627 /\H*\h+\V?\v{3,4}/8 
    628     \x{1680}\x{180e}\x{2007}X\x{2028}\x{2029}\x0c\x0d\x0a
    629     \x09\x{205f}\x{a0}\x0a\x{2029}\x0c\x{2028}\x0a
    630     \x09\x20\x{202f}\x0a\x0b\x0c
    631     ** Failers 
    632     \x09\x{200a}\x{a0}\x{2028}\x0b
    633      
    634 /a\Rb/I8<bsr_anycrlf>
    635     a\rb
    636     a\nb
    637     a\r\nb
    638     ** Failers
    639     a\x{85}b
    640     a\x0bb     
    641 
    642 /a\Rb/I8<bsr_unicode>
    643     a\rb
    644     a\nb
    645     a\r\nb
    646     a\x{85}b
    647     a\x0bb     
    648     ** Failers 
    649     a\x{85}b\<bsr_anycrlf>
    650     a\x0bb\<bsr_anycrlf>
    651     
    652 /a\R?b/I8<bsr_anycrlf>
    653     a\rb
    654     a\nb
    655     a\r\nb
    656     ** Failers
    657     a\x{85}b
    658     a\x0bb     
    659 
    660 /a\R?b/I8<bsr_unicode>
    661     a\rb
    662     a\nb
    663     a\r\nb
    664     a\x{85}b
    665     a\x0bb     
    666     ** Failers 
    667     a\x{85}b\<bsr_anycrlf>
    668     a\x0bb\<bsr_anycrlf>
    669  
    670 /X/8f<any> 
    671     A\x{1ec5}ABCXYZ
    672 
    673 /abcd*/8
    674     xxxxabcd\P
    675     xxxxabcd\P\P
    676 
    677 /abcd*/i8
    678     xxxxabcd\P
    679     xxxxabcd\P\P
    680     XXXXABCD\P
    681     XXXXABCD\P\P
    682 
    683 /abc\d*/8
    684     xxxxabc1\P
    685     xxxxabc1\P\P
    686 
    687 /abc[de]*/8
    688     xxxxabcde\P
    689     xxxxabcde\P\P
    690 
    691 /\bthe cat\b/8
    692     the cat\P
    693     the cat\P\P
    694 
    695 /a+/8
    696     a\x{123}aa\>1
    697     a\x{123}aa\>2
    698     a\x{123}aa\>3
    699     a\x{123}aa\>4
    700     a\x{123}aa\>5
    701     a\x{123}aa\>6
    702 
    703 /-- End of testinput8 --/ 
    704