File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / pcre / testdata / testinput7
Revision 1.1.1.5 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Sun Jun 15 19:46:05 2014 UTC (10 years ago) by misho
Branches: pcre, MAIN
CVS tags: v8_34, HEAD
pcre 8.34

    1: /-- These tests for Unicode property support test PCRE's API and show some of
    2:     the compiled code. They are not Perl-compatible. --/
    3: 
    4: /[\p{L}]/DZ
    5: 
    6: /[\p{^L}]/DZ
    7: 
    8: /[\P{L}]/DZ
    9: 
   10: /[\P{^L}]/DZ
   11: 
   12: /[abc\p{L}\x{0660}]/8DZ
   13: 
   14: /[\p{Nd}]/8DZ
   15:     1234
   16: 
   17: /[\p{Nd}+-]+/8DZ
   18:     1234
   19:     12-34
   20:     12+\x{661}-34  
   21:     ** Failers
   22:     abcd  
   23: 
   24: /[\x{105}-\x{109}]/8iDZ
   25:     \x{104}
   26:     \x{105}
   27:     \x{109}  
   28:     ** Failers
   29:     \x{100}
   30:     \x{10a} 
   31:     
   32: /[z-\x{100}]/8iDZ 
   33:     Z
   34:     z
   35:     \x{39c}
   36:     \x{178}
   37:     |
   38:     \x{80}
   39:     \x{ff}
   40:     \x{100}
   41:     \x{101} 
   42:     ** Failers
   43:     \x{102}
   44:     Y
   45:     y           
   46: 
   47: /[z-\x{100}]/8DZi
   48: 
   49: /(?:[\PPa*]*){8,}/
   50: 
   51: /[\P{Any}]/BZ
   52: 
   53: /[\P{Any}\E]/BZ
   54: 
   55: /(\P{Yi}+\277)/
   56: 
   57: /(\P{Yi}+\277)?/
   58: 
   59: /(?<=\P{Yi}{3}A)X/
   60: 
   61: /\p{Yi}+(\P{Yi}+)(?1)/
   62: 
   63: /(\P{Yi}{2}\277)?/
   64: 
   65: /[\P{Yi}A]/
   66: 
   67: /[\P{Yi}\P{Yi}\P{Yi}A]/
   68: 
   69: /[^\P{Yi}A]/
   70: 
   71: /[^\P{Yi}\P{Yi}\P{Yi}A]/
   72: 
   73: /(\P{Yi}*\277)*/
   74: 
   75: /(\P{Yi}*?\277)*/
   76: 
   77: /(\p{Yi}*+\277)*/
   78: 
   79: /(\P{Yi}?\277)*/
   80: 
   81: /(\P{Yi}??\277)*/
   82: 
   83: /(\p{Yi}?+\277)*/
   84: 
   85: /(\P{Yi}{0,3}\277)*/
   86: 
   87: /(\P{Yi}{0,3}?\277)*/
   88: 
   89: /(\p{Yi}{0,3}+\277)*/
   90: 
   91: /\p{Zl}{2,3}+/8BZ
   92:     


   93:     \x{2028}\x{2028}\x{2028}
   94:     
   95: /\p{Zl}/8BZ
   96: 
   97: /\p{Lu}{3}+/8BZ
   98: 
   99: /\pL{2}+/8BZ
  100: 
  101: /\p{Cc}{2}+/8BZ
  102: 
  103: /^\p{Cf}/8
  104:     \x{180e}
  105:     \x{061c}
  106:     \x{2066}
  107:     \x{2067}
  108:     \x{2068}
  109:     \x{2069}
  110: 
  111: /^\p{Cs}/8
  112:     \?\x{dfff}
  113:     ** Failers
  114:     \x{09f} 
  115:   
  116: /^\p{Mn}/8
  117:     \x{1a1b}
  118: 
  119: /^\p{Pe}/8
  120:     \x{2309}
  121:     \x{230b}
  122: 
  123: /^\p{Ps}/8
  124:     \x{2308}
  125:     \x{230a}
  126: 
  127: /^\p{Sc}+/8
  128:     $\x{a2}\x{a3}\x{a4}\x{a5}\x{a6}
  129:     \x{9f2}
  130:     ** Failers
  131:     X
  132:     \x{2c2}
  133:   
  134: /^\p{Zs}/8
  135:     \ \
  136:     \x{a0}
  137:     \x{1680}
  138:     \x{2000}
  139:     \x{2001}     
  140:     ** Failers
  141:     \x{2028}
  142:     \x{200d} 
  143:   
  144: /-- These are here rather than in test 6 because Perl has problems with
  145:     the negative versions of the properties and behaves has changed how
  146:     it behaves for caseless matching. --/
  147:       
  148: /\p{^Lu}/8i
  149:     1234
  150:     ** Failers
  151:     ABC 
  152: 
  153: /\P{Lu}/8i
  154:     1234
  155:     ** Failers
  156:     ABC 
  157: 
  158: /\p{Ll}/8i 
  159:     a
  160:     Az
  161:     ** Failers
  162:     ABC   
  163: 
  164: /\p{Lu}/8i
  165:     A
  166:     a\x{10a0}B 
  167:     ** Failers 
  168:     a
  169:     \x{1d00}  
  170: 
  171: /\p{Lu}/8i
  172:     A
  173:     aZ
  174:     ** Failers
  175:     abc   
  176: 
  177: /[\x{c0}\x{391}]/8i
  178:     \x{c0}
  179:     \x{e0} 
  180: 
  181: /-- The next two are special cases where the lengths of the different cases of
  182: the same character differ. The first went wrong with heap frame storage; the
  183: second was broken in all cases. --/
  184: 
  185: /^\x{023a}+?(\x{0130}+)/8i
  186:   \x{023a}\x{2c65}\x{0130}
  187:   
  188: /^\x{023a}+([^X])/8i
  189:   \x{023a}\x{2c65}X
  190: 
  191: /\x{c0}+\x{116}+/8i
  192:     \x{c0}\x{e0}\x{116}\x{117}
  193: 
  194: /[\x{c0}\x{116}]+/8i
  195:     \x{c0}\x{e0}\x{116}\x{117}
  196: 
  197: /(\x{de})\1/8i
  198:     \x{de}\x{de}
  199:     \x{de}\x{fe}
  200:     \x{fe}\x{fe}
  201:     \x{fe}\x{de}
  202: 
  203: /^\x{c0}$/8i
  204:     \x{c0}
  205:     \x{e0} 
  206: 
  207: /^\x{e0}$/8i
  208:     \x{c0}
  209:     \x{e0} 
  210: 
  211: /-- The next two should be Perl-compatible, but it fails to match \x{e0}. PCRE
  212: will match it only with UCP support, because without that it has no notion
  213: of case for anything other than the ASCII letters. --/ 
  214: 
  215: /((?i)[\x{c0}])/8
  216:     \x{c0}
  217:     \x{e0} 
  218: 
  219: /(?i:[\x{c0}])/8
  220:     \x{c0}
  221:     \x{e0} 
  222: 
  223: /-- These are PCRE's extra properties to help with Unicodizing \d etc. --/
  224: 
  225: /^\p{Xan}/8
  226:     ABCD
  227:     1234
  228:     \x{6ca}
  229:     \x{a6c}
  230:     \x{10a7}   
  231:     ** Failers
  232:     _ABC   
  233: 
  234: /^\p{Xan}+/8
  235:     ABCD1234\x{6ca}\x{a6c}\x{10a7}_
  236:     ** Failers
  237:     _ABC   
  238: 
  239: /^\p{Xan}+?/8
  240:     \x{6ca}\x{a6c}\x{10a7}_
  241: 
  242: /^\p{Xan}*/8
  243:     ABCD1234\x{6ca}\x{a6c}\x{10a7}_
  244:     
  245: /^\p{Xan}{2,9}/8
  246:     ABCD1234\x{6ca}\x{a6c}\x{10a7}_
  247:     
  248: /^\p{Xan}{2,9}?/8
  249:     \x{6ca}\x{a6c}\x{10a7}_
  250:     
  251: /^[\p{Xan}]/8
  252:     ABCD1234_
  253:     1234abcd_
  254:     \x{6ca}
  255:     \x{a6c}
  256:     \x{10a7}   
  257:     ** Failers
  258:     _ABC   
  259:  
  260: /^[\p{Xan}]+/8
  261:     ABCD1234\x{6ca}\x{a6c}\x{10a7}_
  262:     ** Failers
  263:     _ABC   
  264: 
  265: /^>\p{Xsp}/8
  266:     >\x{1680}\x{2028}\x{0b}
  267:     >\x{a0} 
  268:     ** Failers
  269:     \x{0b} 
  270: 
  271: /^>\p{Xsp}+/8
  272:     > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
  273: 
  274: /^>\p{Xsp}+?/8
  275:     >\x{1680}\x{2028}\x{0b}
  276: 
  277: /^>\p{Xsp}*/8
  278:     > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
  279:     
  280: /^>\p{Xsp}{2,9}/8
  281:     > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
  282:     
  283: /^>\p{Xsp}{2,9}?/8
  284:     > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
  285:     
  286: /^>[\p{Xsp}]/8
  287:     >\x{2028}\x{0b}
  288:  
  289: /^>[\p{Xsp}]+/8
  290:     > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
  291: 
  292: /^>\p{Xps}/8
  293:     >\x{1680}\x{2028}\x{0b}
  294:     >\x{a0} 
  295:     ** Failers
  296:     \x{0b} 
  297: 
  298: /^>\p{Xps}+/8
  299:     > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
  300: 
  301: /^>\p{Xps}+?/8
  302:     >\x{1680}\x{2028}\x{0b}
  303: 
  304: /^>\p{Xps}*/8
  305:     > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
  306:     
  307: /^>\p{Xps}{2,9}/8
  308:     > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
  309:     
  310: /^>\p{Xps}{2,9}?/8
  311:     > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
  312:     
  313: /^>[\p{Xps}]/8
  314:     >\x{2028}\x{0b}
  315:  
  316: /^>[\p{Xps}]+/8
  317:     > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
  318: 
  319: /^\p{Xwd}/8
  320:     ABCD
  321:     1234
  322:     \x{6ca}
  323:     \x{a6c}
  324:     \x{10a7}
  325:     _ABC    
  326:     ** Failers
  327:     [] 
  328: 
  329: /^\p{Xwd}+/8
  330:     ABCD1234\x{6ca}\x{a6c}\x{10a7}_
  331: 
  332: /^\p{Xwd}+?/8
  333:     \x{6ca}\x{a6c}\x{10a7}_
  334: 
  335: /^\p{Xwd}*/8
  336:     ABCD1234\x{6ca}\x{a6c}\x{10a7}_
  337:     
  338: /^\p{Xwd}{2,9}/8
  339:     A_B12\x{6ca}\x{a6c}\x{10a7}
  340:     
  341: /^\p{Xwd}{2,9}?/8
  342:     \x{6ca}\x{a6c}\x{10a7}_
  343:     
  344: /^[\p{Xwd}]/8
  345:     ABCD1234_
  346:     1234abcd_
  347:     \x{6ca}
  348:     \x{a6c}
  349:     \x{10a7}   
  350:     _ABC 
  351:     ** Failers
  352:     []   
  353:  
  354: /^[\p{Xwd}]+/8
  355:     ABCD1234\x{6ca}\x{a6c}\x{10a7}_
  356: 
  357: /-- A check not in UTF-8 mode --/
  358: 
  359: /^[\p{Xwd}]+/
  360:     ABCD1234_
  361:     
  362: /-- Some negative checks --/
  363: 
  364: /^[\P{Xwd}]+/8
  365:     !.+\x{019}\x{35a}AB
  366: 
  367: /^[\p{^Xwd}]+/8
  368:     !.+\x{019}\x{35a}AB
  369: 
  370: /[\D]/WBZ8
  371:     1\x{3c8}2
  372: 
  373: /[\d]/WBZ8
  374:     >\x{6f4}<
  375: 
  376: /[\S]/WBZ8
  377:     \x{1680}\x{6f4}\x{1680}
  378: 
  379: /[\s]/WBZ8
  380:     >\x{1680}<
  381: 
  382: /[\W]/WBZ8
  383:     A\x{1712}B
  384: 
  385: /[\w]/WBZ8
  386:     >\x{1723}<
  387: 
  388: /\D/WBZ8
  389:     1\x{3c8}2
  390: 
  391: /\d/WBZ8
  392:     >\x{6f4}<
  393: 
  394: /\S/WBZ8
  395:     \x{1680}\x{6f4}\x{1680}
  396: 
  397: /\s/WBZ8
  398:     >\x{1680}>
  399: 
  400: /\W/WBZ8
  401:     A\x{1712}B
  402: 
  403: /\w/WBZ8
  404:     >\x{1723}<
  405: 
  406: /[[:alpha:]]/WBZ
  407: 
  408: /[[:lower:]]/WBZ
  409: 
  410: /[[:upper:]]/WBZ
  411: 
  412: /[[:alnum:]]/WBZ
  413: 
  414: /[[:ascii:]]/WBZ
  415: 
  416: /[[:cntrl:]]/WBZ
  417: 
  418: /[[:digit:]]/WBZ
  419: 
  420: /[[:graph:]]/WBZ
  421: 
  422: /[[:print:]]/WBZ
  423: 
  424: /[[:punct:]]/WBZ
  425: 
  426: /[[:space:]]/WBZ
  427: 
  428: /[[:word:]]/WBZ
  429: 
  430: /[[:xdigit:]]/WBZ
  431: 
  432: /-- Unicode properties for \b abd \B --/
  433: 
  434: /\b...\B/8W
  435:     abc_
  436:     \x{37e}abc\x{376} 
  437:     \x{37e}\x{376}\x{371}\x{393}\x{394} 
  438:     !\x{c0}++\x{c1}\x{c2} 
  439:     !\x{c0}+++++ 
  440: 
  441: /-- Without PCRE_UCP, non-ASCII always fail, even if < 256  --/
  442: 
  443: /\b...\B/8
  444:     abc_
  445:     ** Failers 
  446:     \x{37e}abc\x{376} 
  447:     \x{37e}\x{376}\x{371}\x{393}\x{394} 
  448:     !\x{c0}++\x{c1}\x{c2} 
  449:     !\x{c0}+++++ 
  450: 
  451: /-- With PCRE_UCP, non-UTF8 chars that are < 256 still check properties  --/
  452: 
  453: /\b...\B/W
  454:     abc_
  455:     !\x{c0}++\x{c1}\x{c2} 
  456:     !\x{c0}+++++ 
  457: 
  458: /-- Some of these are silly, but they check various combinations --/
  459: 
  460: /[[:^alpha:][:^cntrl:]]+/8WBZ
  461:     123
  462:     abc 
  463: 
  464: /[[:^cntrl:][:^alpha:]]+/8WBZ
  465:     123
  466:     abc 
  467: 
  468: /[[:alpha:]]+/8WBZ
  469:     abc
  470: 
  471: /[[:^alpha:]\S]+/8WBZ
  472:     123
  473:     abc 
  474: 
  475: /[^\d]+/8WBZ
  476:     abc123
  477:     abc\x{123}
  478:     \x{660}abc   
  479: 
  480: /\p{Lu}+9\p{Lu}+B\p{Lu}+b/BZ
  481: 
  482: /\p{^Lu}+9\p{^Lu}+B\p{^Lu}+b/BZ
  483: 
  484: /\P{Lu}+9\P{Lu}+B\P{Lu}+b/BZ
  485: 
  486: /\p{Han}+X\p{Greek}+\x{370}/BZ8
  487: 
  488: /\p{Xan}+!\p{Xan}+A/BZ
  489: 
  490: /\p{Xsp}+!\p{Xsp}\t/BZ
  491: 
  492: /\p{Xps}+!\p{Xps}\t/BZ
  493: 
  494: /\p{Xwd}+!\p{Xwd}_/BZ
  495: 
  496: /A+\p{N}A+\dB+\p{N}*B+\d*/WBZ
  497: 
  498: /-- These behaved oddly in Perl, so they are kept in this test --/
  499: 
  500: /(\x{23a}\x{23a}\x{23a})?\1/8i
  501:     \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}
  502: 
  503: /(ȺȺȺ)?\1/8i
  504:     ȺȺȺⱥⱥ
  505: 
  506: /(\x{23a}\x{23a}\x{23a})?\1/8i
  507:     \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
  508: 
  509: /(ȺȺȺ)?\1/8i
  510:     ȺȺȺⱥⱥⱥ
  511: 
  512: /(\x{23a}\x{23a}\x{23a})\1/8i
  513:     \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}
  514: 
  515: /(ȺȺȺ)\1/8i
  516:     ȺȺȺⱥⱥ
  517: 
  518: /(\x{23a}\x{23a}\x{23a})\1/8i
  519:     \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
  520: 
  521: /(ȺȺȺ)\1/8i
  522:     ȺȺȺⱥⱥⱥ
  523: 
  524: /(\x{2c65}\x{2c65})\1/8i
  525:     \x{2c65}\x{2c65}\x{23a}\x{23a}
  526:     
  527: /(ⱥⱥ)\1/8i
  528:     ⱥⱥȺȺ 
  529:     
  530: /(\x{23a}\x{23a}\x{23a})\1Y/8i
  531:     X\x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}YZ
  532: 
  533: /(\x{2c65}\x{2c65})\1Y/8i
  534:     X\x{2c65}\x{2c65}\x{23a}\x{23a}YZ
  535: 
  536: /-- --/ 
  537: 
  538: /-- These scripts weren't yet in Perl when I added Unicode 6.0.0 to PCRE --/
  539: 
  540: /^[\p{Batak}]/8
  541:     \x{1bc0}
  542:     \x{1bff}
  543:     ** Failers
  544:     \x{1bf4}
  545:     
  546: /^[\p{Brahmi}]/8
  547:     \x{11000}
  548:     \x{1106f}
  549:     ** Failers
  550:     \x{1104e}
  551:     
  552: /^[\p{Mandaic}]/8
  553:     \x{840}
  554:     \x{85e}
  555:     ** Failers
  556:     \x{85c}
  557:     \x{85d}    
  558: 
  559: /-- --/ 
  560: 
  561: /(\X*)(.)/s8
  562:     A\x{300}
  563: 
  564: /^S(\X*)e(\X*)$/8
  565:     Stéréo
  566:     
  567: /^\X/8 
  568:     ́réo
  569: 
  570: /^a\X41z/<JS>
  571:     aX41z
  572:     *** Failers
  573:     aAz
  574: 
  575: /(?<=ab\Cde)X/8
  576: 
  577: /\X/
  578:     a\P
  579:     a\P\P
  580: 
  581: /\Xa/
  582:     aa\P
  583:     aa\P\P
  584: 
  585: /\X{2}/
  586:     aa\P
  587:     aa\P\P
  588: 
  589: /\X+a/
  590:     a\P
  591:     aa\P
  592:     aa\P\P
  593: 
  594: /\X+?a/
  595:     a\P
  596:     ab\P
  597:     aa\P
  598:     aa\P\P
  599:     aba\P
  600:     
  601: /-- These Unicode 6.1.0 scripts are not known to Perl. --/ 
  602: 
  603: /\p{Chakma}\d/8W
  604:     \x{11100}\x{1113c}
  605: 
  606: /\p{Takri}\d/8W
  607:     \x{11680}\x{116c0}
  608: 
  609: /^\X/8
  610:     A\P
  611:     A\P\P 
  612:     A\x{300}\x{301}\P
  613:     A\x{300}\x{301}\P\P  
  614:     A\x{301}\P
  615:     A\x{301}\P\P  
  616:     
  617: /^\X{2,3}/8
  618:     A\P
  619:     A\P\P 
  620:     AA\P
  621:     AA\P\P  
  622:     A\x{300}\x{301}\P
  623:     A\x{300}\x{301}\P\P  
  624:     A\x{300}\x{301}A\x{300}\x{301}\P
  625:     A\x{300}\x{301}A\x{300}\x{301}\P\P  
  626: 
  627: /^\X{2}/8
  628:     AA\P
  629:     AA\P\P  
  630:     A\x{300}\x{301}A\x{300}\x{301}\P
  631:     A\x{300}\x{301}A\x{300}\x{301}\P\P  
  632:     
  633: /^\X+/8
  634:     AA\P
  635:     AA\P\P  
  636: 
  637: /^\X+?Z/8
  638:     AA\P
  639:     AA\P\P 
  640: 
  641: /A\x{3a3}B/8iDZ
  642: 
  643: /\x{3a3}B/8iDZ
  644: 
  645: /[\x{3a3}]/8iBZ
  646: 
  647: /[^\x{3a3}]/8iBZ
  648: 
  649: /[\x{3a3}]+/8iBZ
  650: 
  651: /[^\x{3a3}]+/8iBZ
  652: 
  653: /a*\x{3a3}/8iBZ
  654: 
  655: /\x{3a3}+a/8iBZ
  656: 
  657: /\x{3a3}*\x{3c2}/8iBZ
  658: 
  659: /\x{3a3}{3}/8i+
  660:     \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
  661: 
  662: /\x{3a3}{2,4}/8i+
  663:     \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
  664: 
  665: /\x{3a3}{2,4}?/8i+
  666:     \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
  667: 
  668: /\x{3a3}+./8i+
  669:     \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
  670: 
  671: /\x{3a3}++./8i+
  672:     ** Failers
  673:     \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
  674: 
  675: /\x{3a3}*\x{3c2}/8iBZ
  676: 
  677: /[^\x{3a3}]*\x{3c2}/8iBZ
  678: 
  679: /[^a]*\x{3c2}/8iBZ
  680: 
  681: /ist/8iBZ
  682:     ikt
  683: 
  684: /is+t/8i
  685:     iSs\x{17f}t
  686:     ikt
  687: 
  688: /is+?t/8i
  689:     ikt
  690: 
  691: /is?t/8i
  692:     ikt
  693: 
  694: /is{2}t/8i
  695:     iskt
  696:     
  697: /-- This property is a PCRE special --/
  698: 
  699: /^\p{Xuc}/8
  700:     $abc
  701:     @abc
  702:     `abc
  703:     \x{1234}abc
  704:     ** Failers
  705:     abc     
  706: 
  707: /^\p{Xuc}+/8
  708:     $@`\x{a0}\x{1234}\x{e000}**
  709:     ** Failers
  710:     \x{9f}
  711: 
  712: /^\p{Xuc}+?/8
  713:     $@`\x{a0}\x{1234}\x{e000}**
  714:     ** Failers
  715:     \x{9f}
  716: 
  717: /^\p{Xuc}+?\*/8
  718:     $@`\x{a0}\x{1234}\x{e000}**
  719:     ** Failers
  720:     \x{9f}
  721: 
  722: /^\p{Xuc}++/8
  723:     $@`\x{a0}\x{1234}\x{e000}**
  724:     ** Failers
  725:     \x{9f}
  726: 
  727: /^\p{Xuc}{3,5}/8
  728:     $@`\x{a0}\x{1234}\x{e000}**
  729:     ** Failers
  730:     \x{9f}
  731: 
  732: /^\p{Xuc}{3,5}?/8
  733:     $@`\x{a0}\x{1234}\x{e000}**
  734:     ** Failers
  735:     \x{9f}
  736: 
  737: /^[\p{Xuc}]/8
  738:     $@`\x{a0}\x{1234}\x{e000}**
  739:     ** Failers
  740:     \x{9f}
  741: 
  742: /^[\p{Xuc}]+/8
  743:     $@`\x{a0}\x{1234}\x{e000}**
  744:     ** Failers
  745:     \x{9f}
  746: 
  747: /^\P{Xuc}/8
  748:     abc
  749:     ** Failers
  750:     $abc
  751:     @abc
  752:     `abc
  753:     \x{1234}abc
  754: 
  755: /^[\P{Xuc}]/8
  756:     abc
  757:     ** Failers
  758:     $abc
  759:     @abc
  760:     `abc
  761:     \x{1234}abc
  762:     
  763: /-- Some auto-possessification tests --/
  764: 
  765: /\pN+\z/BZ
  766: 
  767: /\PN+\z/BZ
  768: 
  769: /\pN+/BZ
  770: 
  771: /\PN+/BZ
  772: 
  773: /\p{Any}+\p{Any} \p{Any}+\P{Any} \p{Any}+\p{L&} \p{Any}+\p{L} \p{Any}+\p{Lu} \p{Any}+\p{Han} \p{Any}+\p{Xan} \p{Any}+\p{Xsp} \p{Any}+\p{Xps} \p{Xwd}+\p{Any} \p{Any}+\p{Xuc}/BWZx  
  774: 
  775: /\p{L&}+\p{Any} \p{L&}+\p{L&} \P{L&}+\p{L&} \p{L&}+\p{L} \p{L&}+\p{Lu} \p{L&}+\p{Han} \p{L&}+\p{Xan} \p{L&}+\P{Xan} \p{L&}+\p{Xsp} \p{L&}+\p{Xps} \p{Xwd}+\p{L&} \p{L&}+\p{Xuc}/BWZx  
  776: 
  777: /\p{N}+\p{Any} \p{N}+\p{L&} \p{N}+\p{L} \p{N}+\P{L} \p{N}+\P{N} \p{N}+\p{Lu} \p{N}+\p{Han} \p{N}+\p{Xan} \p{N}+\p{Xsp} \p{N}+\p{Xps} \p{Xwd}+\p{N} \p{N}+\p{Xuc}/BWZx  
  778: 
  779: /\p{Lu}+\p{Any} \p{Lu}+\p{L&} \p{Lu}+\p{L} \p{Lu}+\p{Lu} \P{Lu}+\p{Lu} \p{Lu}+\p{Nd} \p{Lu}+\P{Nd} \p{Lu}+\p{Han} \p{Lu}+\p{Xan} \p{Lu}+\p{Xsp} \p{Lu}+\p{Xps} \p{Xwd}+\p{Lu} \p{Lu}+\p{Xuc}/BWZx  
  780: 
  781: /\p{Han}+\p{Lu} \p{Han}+\p{L&} \p{Han}+\p{L} \p{Han}+\p{Lu} \p{Han}+\p{Arabic} \p{Arabic}+\p{Arabic} \p{Han}+\p{Xan} \p{Han}+\p{Xsp} \p{Han}+\p{Xps} \p{Xwd}+\p{Han} \p{Han}+\p{Xuc}/BWZx  
  782: 
  783: /\p{Xan}+\p{Any} \p{Xan}+\p{L&} \P{Xan}+\p{L&} \p{Xan}+\p{L} \p{Xan}+\p{Lu} \p{Xan}+\p{Han} \p{Xan}+\p{Xan} \p{Xan}+\P{Xan} \p{Xan}+\p{Xsp} \p{Xan}+\p{Xps} \p{Xwd}+\p{Xan} \p{Xan}+\p{Xuc}/BWZx  
  784: 
  785: /\p{Xsp}+\p{Any} \p{Xsp}+\p{L&} \p{Xsp}+\p{L} \p{Xsp}+\p{Lu} \p{Xsp}+\p{Han} \p{Xsp}+\p{Xan} \p{Xsp}+\p{Xsp} \P{Xsp}+\p{Xsp} \p{Xsp}+\p{Xps} \p{Xwd}+\p{Xsp} \p{Xsp}+\p{Xuc}/BWZx  
  786: 
  787: /\p{Xwd}+\p{Any} \p{Xwd}+\p{L&} \p{Xwd}+\p{L} \p{Xwd}+\p{Lu} \p{Xwd}+\p{Han} \p{Xwd}+\p{Xan} \p{Xwd}+\p{Xsp} \p{Xwd}+\p{Xps} \p{Xwd}+\p{Xwd} \p{Xwd}+\P{Xwd} \p{Xwd}+\p{Xuc}/BWZx  
  788: 
  789: /\p{Xuc}+\p{Any} \p{Xuc}+\p{L&} \p{Xuc}+\p{L} \p{Xuc}+\p{Lu} \p{Xuc}+\p{Han} \p{Xuc}+\p{Xan} \p{Xuc}+\p{Xsp} \p{Xuc}+\p{Xps} \p{Xwd}+\p{Xuc} \p{Xuc}+\p{Xuc} \p{Xuc}+\P{Xuc}/BWZx  
  790: 
  791: /\p{N}+\p{Ll} \p{N}+\p{Nd} \p{N}+\P{Nd}/BWZx
  792: 
  793: /\p{Xan}+\p{L} \p{Xan}+\p{N} \p{Xan}+\p{C} \p{Xan}+\P{L} \P{Xan}+\p{N} \p{Xan}+\P{C}/BWZx
  794: 
  795: /\p{L}+\p{Xan} \p{N}+\p{Xan} \p{C}+\p{Xan} \P{L}+\p{Xan} \p{N}+\p{Xan} \P{C}+\p{Xan} \p{L}+\P{Xan}/BWZx
  796: 
  797: /\p{Xan}+\p{Lu} \p{Xan}+\p{Nd} \p{Xan}+\p{Cc} \p{Xan}+\P{Ll} \P{Xan}+\p{No} \p{Xan}+\P{Cf}/BWZx
  798: 
  799: /\p{Lu}+\p{Xan} \p{Nd}+\p{Xan} \p{Cs}+\p{Xan} \P{Lt}+\p{Xan} \p{Nl}+\p{Xan} \P{Cc}+\p{Xan} \p{Lt}+\P{Xan}/BWZx
  800: 
  801: /\w+\p{P} \w+\p{Po} \w+\s \p{Xan}+\s \s+\p{Xan} \s+\w/BWZx
  802: 
  803: /\w+\P{P} \W+\p{Po} \w+\S \P{Xan}+\s \s+\P{Xan} \s+\W/BWZx
  804: 
  805: /\w+\p{Po} \w+\p{Pc} \W+\p{Po} \W+\p{Pc} \w+\P{Po} \w+\P{Pc}/BWZx
  806: 
  807: /\p{Nl}+\p{Xan} \P{Nl}+\p{Xan} \p{Nl}+\P{Xan} \P{Nl}+\P{Xan}/BWZx
  808: 
  809: /\p{Xan}+\p{Nl} \P{Xan}+\p{Nl} \p{Xan}+\P{Nl} \P{Xan}+\P{Nl}/BWZx
  810: 
  811: /\p{Xan}+\p{Nd} \P{Xan}+\p{Nd} \p{Xan}+\P{Nd} \P{Xan}+\P{Nd}/BWZx
  812: 
  813: /-- End auto-possessification tests --/ 
  814: 
  815: /\w+/8CWBZ
  816:     abcd
  817: 
  818: /[\p{N}]?+/BZO
  819: 
  820: /[\p{L}ab]{2,3}+/BZO
  821: 
  822: /\D+\X \d+\X \S+\X \s+\X \W+\X \w+\X \C+\X \R+\X \H+\X \h+\X \V+\X \v+\X a+\X \n+\X .+\X/BZx
  823: 
  824: /.+\X/BZxs
  825: 
  826: /\X+$/BZxm
  827: 
  828: /\X+\D \X+\d \X+\S \X+\s \X+\W \X+\w \X+. \X+\C \X+\R \X+\H \X+\h \X+\V \X+\v \X+\X \X+\Z \X+\z \X+$/BZx
  829: 
  830: /\d+\s{0,5}=\s*\S?=\w{0,4}\W*/8WBZ
  831: 
  832: /-- End of testinput7 --/

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