File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / pcre / testdata / testinput5
Revision 1.1.1.2 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 23:50:25 2012 UTC (12 years, 4 months ago) by misho
Branches: pcre, MAIN
CVS tags: v8_30, HEAD
pcre

    1: /-- This set of tests checks the API, internals, and non-Perl stuff for UTF
    2:     support, excluding Unicode properties. However, tests that give different
    3:     results in 8-bit and 16-bit modes are excluded (see tests 16 and 17). --/
    4: 
    5: /\x{110000}/8DZ
    6: 
    7: /\x{ffffffff}/8
    8: 
    9: /\x{100000000}/8
   10: 
   11: /\x{d800}/8
   12: 
   13: /\x{dfff}/8
   14: 
   15: /\x{d7ff}/8
   16: 
   17: /\x{e000}/8
   18: 
   19: /^\x{100}a\x{1234}/8
   20:     \x{100}a\x{1234}bcd
   21: 
   22: /\x{0041}\x{2262}\x{0391}\x{002e}/DZ8
   23:     \x{0041}\x{2262}\x{0391}\x{002e}
   24:     
   25: /.{3,5}X/DZ8
   26:     \x{212ab}\x{212ab}\x{212ab}\x{861}X
   27: 
   28: /.{3,5}?/DZ8
   29:     \x{212ab}\x{212ab}\x{212ab}\x{861}
   30: 
   31: /(?<=\C)X/8
   32:     Should produce an error diagnostic
   33:     
   34: /^[ab]/8DZ
   35:     bar
   36:     *** Failers
   37:     c
   38:     \x{ff}
   39:     \x{100}  
   40: 
   41: /^[^ab]/8DZ
   42:     c
   43:     \x{ff}
   44:     \x{100}  
   45:     *** Failers 
   46:     aaa
   47:   
   48: /\x{100}*(\d+|"(?1)")/8
   49:     1234
   50:     "1234" 
   51:     \x{100}1234
   52:     "\x{100}1234"  
   53:     \x{100}\x{100}12ab 
   54:     \x{100}\x{100}"12" 
   55:     *** Failers 
   56:     \x{100}\x{100}abcd
   57: 
   58: /\x{100}*/8DZ
   59: 
   60: /a\x{100}*/8DZ
   61: 
   62: /ab\x{100}*/8DZ
   63: 
   64: /\x{100}*A/8DZ
   65:     A
   66: 
   67: /\x{100}*\d(?R)/8DZ
   68: 
   69: /[Z\x{100}]/8DZ
   70:     Z\x{100}
   71:     \x{100}
   72:     \x{100}Z
   73:     *** Failers 
   74: 
   75: /[\x{200}-\x{100}]/8
   76: 
   77: /[Ā-Ą]/8
   78:     \x{100}
   79:     \x{104}
   80:     *** Failers
   81:     \x{105}
   82:     \x{ff}    
   83: 
   84: /[z-\x{100}]/8DZ
   85: 
   86: /[z\Qa-d]Ā\E]/8DZ
   87:     \x{100}
   88:     Ā 
   89: 
   90: /[\xFF]/DZ
   91:     >\xff<
   92: 
   93: /[^\xFF]/DZ
   94: 
   95: /[Ä-Ü]/8
   96:     Ö # Matches without Study
   97:     \x{d6}
   98:     
   99: /[Ä-Ü]/8S
  100:     Ö <-- Same with Study
  101:     \x{d6}
  102:     
  103: /[\x{c4}-\x{dc}]/8 
  104:     Ö # Matches without Study
  105:     \x{d6} 
  106: 
  107: /[\x{c4}-\x{dc}]/8S
  108:     Ö <-- Same with Study
  109:     \x{d6} 
  110: 
  111: /[^\x{100}]abc(xyz(?1))/8DZ
  112: 
  113: /[ab\x{100}]abc(xyz(?1))/8DZ
  114: 
  115: /(\x{100}(b(?2)c))?/DZ8
  116: 
  117: /(\x{100}(b(?2)c)){0,2}/DZ8
  118: 
  119: /(\x{100}(b(?1)c))?/DZ8
  120: 
  121: /(\x{100}(b(?1)c)){0,2}/DZ8
  122: 
  123: /\W/8
  124:     A.B
  125:     A\x{100}B 
  126:   
  127: /\w/8
  128:     \x{100}X   
  129: 
  130: /^\ሴ/8DZ
  131: 
  132: /\x{100}*\d/8DZ
  133: 
  134: /\x{100}*\s/8DZ
  135: 
  136: /\x{100}*\w/8DZ
  137: 
  138: /\x{100}*\D/8DZ
  139: 
  140: /\x{100}*\S/8DZ
  141: 
  142: /\x{100}*\W/8DZ
  143: 
  144: /()()()()()()()()()()
  145:  ()()()()()()()()()()
  146:  ()()()()()()()()()()
  147:  ()()()()()()()()()()
  148:  A (x) (?41) B/8x
  149:     AxxB     
  150: 
  151: /^[\x{100}\E-\Q\E\x{150}]/BZ8
  152: 
  153: /^[\QĀ\E-\QŐ\E]/BZ8
  154: 
  155: /^abc./mgx8<any>
  156:     abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x{0085}abc7 \x{2028}abc8 \x{2029}abc9 JUNK
  157: 
  158: /abc.$/mgx8<any>
  159:     abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x{0085} abc7\x{2028} abc8\x{2029} abc9
  160: 
  161: /^a\Rb/8<bsr_unicode>
  162:     a\nb
  163:     a\rb
  164:     a\r\nb
  165:     a\x0bb
  166:     a\x0cb
  167:     a\x{85}b   
  168:     a\x{2028}b 
  169:     a\x{2029}b 
  170:     ** Failers
  171:     a\n\rb    
  172: 
  173: /^a\R*b/8<bsr_unicode>
  174:     ab
  175:     a\nb
  176:     a\rb
  177:     a\r\nb
  178:     a\x0bb
  179:     a\x0c\x{2028}\x{2029}b
  180:     a\x{85}b   
  181:     a\n\rb    
  182:     a\n\r\x{85}\x0cb 
  183: 
  184: /^a\R+b/8<bsr_unicode>
  185:     a\nb
  186:     a\rb
  187:     a\r\nb
  188:     a\x0bb
  189:     a\x0c\x{2028}\x{2029}b
  190:     a\x{85}b   
  191:     a\n\rb    
  192:     a\n\r\x{85}\x0cb 
  193:     ** Failers
  194:     ab  
  195: 
  196: /^a\R{1,3}b/8<bsr_unicode>
  197:     a\nb
  198:     a\n\rb
  199:     a\n\r\x{85}b
  200:     a\r\n\r\nb 
  201:     a\r\n\r\n\r\nb 
  202:     a\n\r\n\rb
  203:     a\n\n\r\nb 
  204:     ** Failers
  205:     a\n\n\n\rb
  206:     a\r
  207: 
  208: /\H\h\V\v/8
  209:     X X\x0a
  210:     X\x09X\x0b
  211:     ** Failers
  212:     \x{a0} X\x0a   
  213:     
  214: /\H*\h+\V?\v{3,4}/8 
  215:     \x09\x20\x{a0}X\x0a\x0b\x0c\x0d\x0a
  216:     \x09\x20\x{a0}\x0a\x0b\x0c\x0d\x0a
  217:     \x09\x20\x{a0}\x0a\x0b\x0c
  218:     ** Failers 
  219:     \x09\x20\x{a0}\x0a\x0b
  220:      
  221: /\H\h\V\v/8
  222:     \x{3001}\x{3000}\x{2030}\x{2028}
  223:     X\x{180e}X\x{85}
  224:     ** Failers
  225:     \x{2009} X\x0a   
  226:     
  227: /\H*\h+\V?\v{3,4}/8 
  228:     \x{1680}\x{180e}\x{2007}X\x{2028}\x{2029}\x0c\x0d\x0a
  229:     \x09\x{205f}\x{a0}\x0a\x{2029}\x0c\x{2028}\x0a
  230:     \x09\x20\x{202f}\x0a\x0b\x0c
  231:     ** Failers 
  232:     \x09\x{200a}\x{a0}\x{2028}\x0b
  233:      
  234: /[\h]/8BZ
  235:     >\x{1680}
  236: 
  237: /[\h]{3,}/8BZ
  238:     >\x{1680}\x{180e}\x{2000}\x{2003}\x{200a}\x{202f}\x{205f}\x{3000}<
  239: 
  240: /[\v]/8BZ
  241: 
  242: /[\H]/8BZ
  243: 
  244: /[\V]/8BZ
  245: 
  246: /.*$/8<any>
  247:     \x{1ec5} 
  248:     
  249: /a\Rb/I8<bsr_anycrlf>
  250:     a\rb
  251:     a\nb
  252:     a\r\nb
  253:     ** Failers
  254:     a\x{85}b
  255:     a\x0bb     
  256: 
  257: /a\Rb/I8<bsr_unicode>
  258:     a\rb
  259:     a\nb
  260:     a\r\nb
  261:     a\x{85}b
  262:     a\x0bb     
  263:     ** Failers 
  264:     a\x{85}b\<bsr_anycrlf>
  265:     a\x0bb\<bsr_anycrlf>
  266:     
  267: /a\R?b/I8<bsr_anycrlf>
  268:     a\rb
  269:     a\nb
  270:     a\r\nb
  271:     ** Failers
  272:     a\x{85}b
  273:     a\x0bb     
  274: 
  275: /a\R?b/I8<bsr_unicode>
  276:     a\rb
  277:     a\nb
  278:     a\r\nb
  279:     a\x{85}b
  280:     a\x0bb     
  281:     ** Failers 
  282:     a\x{85}b\<bsr_anycrlf>
  283:     a\x0bb\<bsr_anycrlf>
  284:  
  285: /.*a.*=.b.*/8<ANY>
  286:     QQQ\x{2029}ABCaXYZ=!bPQR
  287:     ** Failers
  288:     a\x{2029}b
  289:     \x61\xe2\x80\xa9\x62 
  290: 
  291: /[[:a\x{100}b:]]/8
  292: 
  293: /a[^]b/<JS>8
  294:     a\x{1234}b
  295:     a\nb 
  296:     ** Failers
  297:     ab  
  298:     
  299: /a[^]+b/<JS>8
  300:     aXb
  301:     a\nX\nX\x{1234}b 
  302:     ** Failers
  303:     ab  
  304: 
  305: /(\x{de})\1/
  306:     \x{de}\x{de}
  307: 
  308: /X/8f<any> 
  309:     A\x{1ec5}ABCXYZ
  310: 
  311: /Xa{2,4}b/8
  312:     X\P
  313:     Xa\P
  314:     Xaa\P 
  315:     Xaaa\P
  316:     Xaaaa\P 
  317:     
  318: /Xa{2,4}?b/8
  319:     X\P
  320:     Xa\P
  321:     Xaa\P 
  322:     Xaaa\P
  323:     Xaaaa\P 
  324:     
  325: /Xa{2,4}+b/8
  326:     X\P
  327:     Xa\P
  328:     Xaa\P 
  329:     Xaaa\P
  330:     Xaaaa\P 
  331:     
  332: /X\x{123}{2,4}b/8
  333:     X\P
  334:     X\x{123}\P
  335:     X\x{123}\x{123}\P 
  336:     X\x{123}\x{123}\x{123}\P
  337:     X\x{123}\x{123}\x{123}\x{123}\P 
  338:     
  339: /X\x{123}{2,4}?b/8
  340:     X\P
  341:     X\x{123}\P
  342:     X\x{123}\x{123}\P 
  343:     X\x{123}\x{123}\x{123}\P
  344:     X\x{123}\x{123}\x{123}\x{123}\P 
  345:     
  346: /X\x{123}{2,4}+b/8
  347:     X\P
  348:     X\x{123}\P
  349:     X\x{123}\x{123}\P 
  350:     X\x{123}\x{123}\x{123}\P
  351:     X\x{123}\x{123}\x{123}\x{123}\P 
  352:     
  353: /X\x{123}{2,4}b/8
  354:     Xx\P
  355:     X\x{123}x\P
  356:     X\x{123}\x{123}x\P 
  357:     X\x{123}\x{123}\x{123}x\P
  358:     X\x{123}\x{123}\x{123}\x{123}x\P 
  359:     
  360: /X\x{123}{2,4}?b/8
  361:     Xx\P
  362:     X\x{123}x\P
  363:     X\x{123}\x{123}x\P 
  364:     X\x{123}\x{123}\x{123}x\P
  365:     X\x{123}\x{123}\x{123}\x{123}x\P 
  366:     
  367: /X\x{123}{2,4}+b/8
  368:     Xx\P
  369:     X\x{123}x\P
  370:     X\x{123}\x{123}x\P 
  371:     X\x{123}\x{123}\x{123}x\P
  372:     X\x{123}\x{123}\x{123}\x{123}x\P 
  373:     
  374: /X\d{2,4}b/8
  375:     X\P
  376:     X3\P
  377:     X33\P 
  378:     X333\P
  379:     X3333\P 
  380:     
  381: /X\d{2,4}?b/8
  382:     X\P
  383:     X3\P
  384:     X33\P 
  385:     X333\P
  386:     X3333\P 
  387:     
  388: /X\d{2,4}+b/8
  389:     X\P
  390:     X3\P
  391:     X33\P 
  392:     X333\P
  393:     X3333\P 
  394: 
  395: /X\D{2,4}b/8
  396:     X\P
  397:     Xa\P
  398:     Xaa\P 
  399:     Xaaa\P
  400:     Xaaaa\P 
  401:     
  402: /X\D{2,4}?b/8
  403:     X\P
  404:     Xa\P
  405:     Xaa\P 
  406:     Xaaa\P
  407:     Xaaaa\P 
  408:     
  409: /X\D{2,4}+b/8
  410:     X\P
  411:     Xa\P
  412:     Xaa\P 
  413:     Xaaa\P
  414:     Xaaaa\P 
  415: 
  416: /X\D{2,4}b/8
  417:     X\P
  418:     X\x{123}\P
  419:     X\x{123}\x{123}\P 
  420:     X\x{123}\x{123}\x{123}\P
  421:     X\x{123}\x{123}\x{123}\x{123}\P 
  422:     
  423: /X\D{2,4}?b/8
  424:     X\P
  425:     X\x{123}\P
  426:     X\x{123}\x{123}\P 
  427:     X\x{123}\x{123}\x{123}\P
  428:     X\x{123}\x{123}\x{123}\x{123}\P 
  429:     
  430: /X\D{2,4}+b/8
  431:     X\P
  432:     X\x{123}\P
  433:     X\x{123}\x{123}\P 
  434:     X\x{123}\x{123}\x{123}\P
  435:     X\x{123}\x{123}\x{123}\x{123}\P 
  436: 
  437: /X[abc]{2,4}b/8
  438:     X\P
  439:     Xa\P
  440:     Xaa\P 
  441:     Xaaa\P
  442:     Xaaaa\P 
  443:     
  444: /X[abc]{2,4}?b/8
  445:     X\P
  446:     Xa\P
  447:     Xaa\P 
  448:     Xaaa\P
  449:     Xaaaa\P 
  450:     
  451: /X[abc]{2,4}+b/8
  452:     X\P
  453:     Xa\P
  454:     Xaa\P 
  455:     Xaaa\P
  456:     Xaaaa\P 
  457: 
  458: /X[abc\x{123}]{2,4}b/8
  459:     X\P
  460:     X\x{123}\P
  461:     X\x{123}\x{123}\P 
  462:     X\x{123}\x{123}\x{123}\P
  463:     X\x{123}\x{123}\x{123}\x{123}\P 
  464:     
  465: /X[abc\x{123}]{2,4}?b/8
  466:     X\P
  467:     X\x{123}\P
  468:     X\x{123}\x{123}\P 
  469:     X\x{123}\x{123}\x{123}\P
  470:     X\x{123}\x{123}\x{123}\x{123}\P 
  471:     
  472: /X[abc\x{123}]{2,4}+b/8
  473:     X\P
  474:     X\x{123}\P
  475:     X\x{123}\x{123}\P 
  476:     X\x{123}\x{123}\x{123}\P
  477:     X\x{123}\x{123}\x{123}\x{123}\P 
  478: 
  479: /X[^a]{2,4}b/8
  480:     X\P
  481:     Xz\P
  482:     Xzz\P 
  483:     Xzzz\P
  484:     Xzzzz\P 
  485:     
  486: /X[^a]{2,4}?b/8
  487:     X\P
  488:     Xz\P
  489:     Xzz\P 
  490:     Xzzz\P
  491:     Xzzzz\P 
  492:     
  493: /X[^a]{2,4}+b/8
  494:     X\P
  495:     Xz\P
  496:     Xzz\P 
  497:     Xzzz\P
  498:     Xzzzz\P 
  499: 
  500: /X[^a]{2,4}b/8
  501:     X\P
  502:     X\x{123}\P
  503:     X\x{123}\x{123}\P 
  504:     X\x{123}\x{123}\x{123}\P
  505:     X\x{123}\x{123}\x{123}\x{123}\P 
  506:     
  507: /X[^a]{2,4}?b/8
  508:     X\P
  509:     X\x{123}\P
  510:     X\x{123}\x{123}\P 
  511:     X\x{123}\x{123}\x{123}\P
  512:     X\x{123}\x{123}\x{123}\x{123}\P 
  513:     
  514: /X[^a]{2,4}+b/8
  515:     X\P
  516:     X\x{123}\P
  517:     X\x{123}\x{123}\P 
  518:     X\x{123}\x{123}\x{123}\P
  519:     X\x{123}\x{123}\x{123}\x{123}\P 
  520: 
  521: /(Y)X\1{2,4}b/8
  522:     YX\P
  523:     YXY\P
  524:     YXYY\P 
  525:     YXYYY\P
  526:     YXYYYY\P 
  527:     
  528: /(Y)X\1{2,4}?b/8
  529:     YX\P
  530:     YXY\P
  531:     YXYY\P 
  532:     YXYYY\P
  533:     YXYYYY\P 
  534:     
  535: /(Y)X\1{2,4}+b/8
  536:     YX\P
  537:     YXY\P
  538:     YXYY\P 
  539:     YXYYY\P
  540:     YXYYYY\P 
  541: 
  542: /(\x{123})X\1{2,4}b/8
  543:     \x{123}X\P
  544:     \x{123}X\x{123}\P
  545:     \x{123}X\x{123}\x{123}\P 
  546:     \x{123}X\x{123}\x{123}\x{123}\P
  547:     \x{123}X\x{123}\x{123}\x{123}\x{123}\P 
  548:     
  549: /(\x{123})X\1{2,4}?b/8
  550:     \x{123}X\P
  551:     \x{123}X\x{123}\P
  552:     \x{123}X\x{123}\x{123}\P 
  553:     \x{123}X\x{123}\x{123}\x{123}\P
  554:     \x{123}X\x{123}\x{123}\x{123}\x{123}\P 
  555:     
  556: /(\x{123})X\1{2,4}+b/8
  557:     \x{123}X\P
  558:     \x{123}X\x{123}\P
  559:     \x{123}X\x{123}\x{123}\P 
  560:     \x{123}X\x{123}\x{123}\x{123}\P
  561:     \x{123}X\x{123}\x{123}\x{123}\x{123}\P 
  562: 
  563: /\bthe cat\b/8
  564:     the cat\P
  565:     the cat\P\P
  566: 
  567: /abcd*/8
  568:     xxxxabcd\P
  569:     xxxxabcd\P\P
  570: 
  571: /abcd*/i8
  572:     xxxxabcd\P
  573:     xxxxabcd\P\P
  574:     XXXXABCD\P
  575:     XXXXABCD\P\P
  576: 
  577: /abc\d*/8
  578:     xxxxabc1\P
  579:     xxxxabc1\P\P
  580: 
  581: /(a)bc\1*/8
  582:     xxxxabca\P
  583:     xxxxabca\P\P
  584: 
  585: /abc[de]*/8
  586:     xxxxabcde\P
  587:     xxxxabcde\P\P
  588: 
  589: /X\W{3}X/8
  590:     \PX
  591: 
  592: /\sxxx\s/8T1
  593:     AB\x{85}xxx\x{a0}XYZ
  594:     AB\x{a0}xxx\x{85}XYZ
  595: 
  596: /\S \S/8T1
  597:     \x{a2} \x{84} 
  598: 
  599: 'A#хц'8x<any>BZ
  600: 
  601: 'A#хц
  602:   PQ'8x<any>BZ
  603:   
  604: /a+#хaa
  605:   z#XX?/8x<any>BZ 
  606: 
  607: /a+#хaa
  608:   z#х?/8x<any>BZ 
  609: 
  610: /\g{A}xxx#bXX(?'A'123)
(?'A'456)/8x<any>BZ
  611: 
  612: /\g{A}xxx#bх(?'A'123)
(?'A'456)/8x<any>BZ
  613: 
  614: /^\cģ/8
  615: 
  616: /(\R*)(.)/s8
  617:     \r\n
  618:     \r\r\n\n\r 
  619:     \r\r\n\n\r\n 
  620: 
  621: /(\R)*(.)/s8
  622:     \r\n
  623:     \r\r\n\n\r 
  624:     \r\r\n\n\r\n 
  625: 
  626: /[^\x{1234}]+/iS8I   
  627: 
  628: /[^\x{1234}]+?/iS8I   
  629: 
  630: /[^\x{1234}]++/iS8I   
  631: 
  632: /[^\x{1234}]{2}/iS8I
  633: 
  634: //<bsr_anycrlf><bsr_unicode>
  635: 
  636: /f.*/
  637:     \P\Pfor
  638: 
  639: /f.*/s
  640:     \P\Pfor
  641: 
  642: /f.*/8
  643:     \P\Pfor
  644: 
  645: /f.*/8s
  646:     \P\Pfor
  647:     
  648: /\x{d7ff}\x{e000}/8
  649: 
  650: /\x{d800}/8
  651: 
  652: /\x{dfff}/8 
  653: 
  654: /\h+/8
  655:     \x{1681}\x{200b}\x{1680}\x{2000}\x{202f}\x{3000}
  656:     \x{3001}\x{2fff}\x{200a}\x{a0}\x{2000}
  657: 
  658: /[\h\x{e000}]+/8BZ
  659:     \x{1681}\x{200b}\x{1680}\x{2000}\x{202f}\x{3000}
  660:     \x{3001}\x{2fff}\x{200a}\x{a0}\x{2000}
  661: 
  662: /\H+/8
  663:     \x{1680}\x{180e}\x{167f}\x{1681}\x{180d}\x{180f}
  664:     \x{2000}\x{200a}\x{1fff}\x{200b}
  665:     \x{202f}\x{205f}\x{202e}\x{2030}\x{205e}\x{2060}
  666:     \x{a0}\x{3000}\x{9f}\x{a1}\x{2fff}\x{3001}
  667: 
  668: /[\H\x{d7ff}]+/8BZ
  669:     \x{1680}\x{180e}\x{167f}\x{1681}\x{180d}\x{180f}
  670:     \x{2000}\x{200a}\x{1fff}\x{200b}
  671:     \x{202f}\x{205f}\x{202e}\x{2030}\x{205e}\x{2060}
  672:     \x{a0}\x{3000}\x{9f}\x{a1}\x{2fff}\x{3001}
  673: 
  674: /\v+/8
  675:     \x{2027}\x{2030}\x{2028}\x{2029}
  676:     \x09\x0e\x{84}\x{86}\x{85}\x0a\x0b\x0c\x0d
  677: 
  678: /[\v\x{e000}]+/8BZ
  679:     \x{2027}\x{2030}\x{2028}\x{2029}
  680:     \x09\x0e\x{84}\x{86}\x{85}\x0a\x0b\x0c\x0d
  681: 
  682: /\V+/8
  683:     \x{2028}\x{2029}\x{2027}\x{2030}
  684:     \x{85}\x0a\x0b\x0c\x0d\x09\x0e\x{84}\x{86}
  685: 
  686: /[\V\x{d7ff}]+/8BZ
  687:     \x{2028}\x{2029}\x{2027}\x{2030}
  688:     \x{85}\x0a\x0b\x0c\x0d\x09\x0e\x{84}\x{86}
  689: 
  690: /\R+/8<bsr_unicode>
  691:     \x{2027}\x{2030}\x{2028}\x{2029}
  692:     \x09\x0e\x{84}\x{86}\x{85}\x0a\x0b\x0c\x0d
  693: 
  694: /-- End of testinput5 --/

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>