File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / pcre / testdata / testinput10
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, 5 months ago) by misho
Branches: pcre, MAIN
CVS tags: v8_30, HEAD
pcre

    1: /-- This set of tests check Unicode property support with the DFA matching 
    2:     functionality of pcre_dfa_exec(). The -dfa flag must be used with pcretest
    3:     when running it. --/
    4: 
    5: /\pL\P{Nd}/8
    6:     AB
    7:     *** Failers
    8:     A0
    9:     00   
   10: 
   11: /\X./8
   12:     AB
   13:     A\x{300}BC 
   14:     A\x{300}\x{301}\x{302}BC 
   15:     *** Failers
   16:     \x{300}  
   17: 
   18: /\X\X/8
   19:     ABC
   20:     A\x{300}B\x{300}\x{301}C 
   21:     A\x{300}\x{301}\x{302}BC 
   22:     *** Failers
   23:     \x{300}  
   24: 
   25: /^\pL+/8
   26:     abcd
   27:     a 
   28:     *** Failers 
   29: 
   30: /^\PL+/8
   31:     1234
   32:     = 
   33:     *** Failers 
   34:     abcd 
   35: 
   36: /^\X+/8
   37:     abcdA\x{300}\x{301}\x{302}
   38:     A\x{300}\x{301}\x{302}
   39:     A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}
   40:     a 
   41:     *** Failers 
   42:     \x{300}\x{301}\x{302}
   43: 
   44: /\X?abc/8
   45:     abc
   46:     A\x{300}abc
   47:     A\x{300}\x{301}\x{302}A\x{300}A\x{300}A\x{300}abcxyz
   48:     \x{300}abc  
   49:     *** Failers
   50: 
   51: /^\X?abc/8
   52:     abc
   53:     A\x{300}abc
   54:     *** Failers
   55:     A\x{300}\x{301}\x{302}A\x{300}A\x{300}A\x{300}abcxyz
   56:     \x{300}abc  
   57: 
   58: /\X*abc/8
   59:     abc
   60:     A\x{300}abc
   61:     A\x{300}\x{301}\x{302}A\x{300}A\x{300}A\x{300}abcxyz
   62:     \x{300}abc  
   63:     *** Failers
   64: 
   65: /^\X*abc/8
   66:     abc
   67:     A\x{300}abc
   68:     A\x{300}\x{301}\x{302}A\x{300}A\x{300}A\x{300}abcxyz
   69:     *** Failers
   70:     \x{300}abc  
   71: 
   72: /^\pL?=./8
   73:     A=b
   74:     =c 
   75:     *** Failers
   76:     1=2 
   77:     AAAA=b  
   78: 
   79: /^\pL*=./8
   80:     AAAA=b
   81:     =c 
   82:     *** Failers
   83:     1=2  
   84: 
   85: /^\X{2,3}X/8
   86:     A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}X
   87:     A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}X 
   88:     *** Failers
   89:     X
   90:     A\x{300}\x{301}\x{302}X
   91:     A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}X
   92: 
   93: /^\pC\pL\pM\pN\pP\pS\pZ</8
   94:     \x7f\x{c0}\x{30f}\x{660}\x{66c}\x{f01}\x{1680}<
   95:     \np\x{300}9!\$ < 
   96:     ** Failers 
   97:     ap\x{300}9!\$ < 
   98:   
   99: /^\PC/8
  100:     X
  101:     ** Failers 
  102:     \x7f
  103:   
  104: /^\PL/8
  105:     9
  106:     ** Failers 
  107:     \x{c0}
  108:   
  109: /^\PM/8
  110:     X
  111:     ** Failers 
  112:     \x{30f}
  113:   
  114: /^\PN/8
  115:     X
  116:     ** Failers 
  117:     \x{660}
  118:   
  119: /^\PP/8
  120:     X
  121:     ** Failers 
  122:     \x{66c}
  123:   
  124: /^\PS/8
  125:     X
  126:     ** Failers 
  127:     \x{f01}
  128:   
  129: /^\PZ/8
  130:     X
  131:     ** Failers 
  132:     \x{1680}
  133:     
  134: /^\p{Cc}/8
  135:     \x{017}
  136:     \x{09f} 
  137:     ** Failers
  138:     \x{0600} 
  139:   
  140: /^\p{Cf}/8
  141:     \x{601}
  142:     ** Failers
  143:     \x{09f} 
  144:   
  145: /^\p{Cn}/8
  146:     ** Failers
  147:     \x{09f} 
  148:   
  149: /^\p{Co}/8
  150:     \x{f8ff}
  151:     ** Failers
  152:     \x{09f} 
  153:   
  154: /^\p{Cs}/8
  155:     \?\x{dfff}
  156:     ** Failers
  157:     \x{09f} 
  158:   
  159: /^\p{Ll}/8
  160:     a
  161:     ** Failers 
  162:     Z
  163:     \x{e000}  
  164:   
  165: /^\p{Lm}/8
  166:     \x{2b0}
  167:     ** Failers
  168:     a 
  169:   
  170: /^\p{Lo}/8
  171:     \x{1bb}
  172:     ** Failers
  173:     a 
  174:     \x{2b0}
  175:   
  176: /^\p{Lt}/8
  177:     \x{1c5}
  178:     ** Failers
  179:     a 
  180:     \x{2b0}
  181:   
  182: /^\p{Lu}/8
  183:     A
  184:     ** Failers
  185:     \x{2b0}
  186:   
  187: /^\p{Mc}/8
  188:     \x{903}
  189:     ** Failers
  190:     X
  191:     \x{300}
  192:        
  193: /^\p{Me}/8
  194:     \x{488}
  195:     ** Failers
  196:     X
  197:     \x{903}
  198:     \x{300}
  199:   
  200: /^\p{Mn}/8
  201:     \x{300}
  202:     ** Failers
  203:     X
  204:     \x{903}
  205:   
  206: /^\p{Nd}+/8
  207:     0123456789\x{660}\x{661}\x{662}\x{663}\x{664}\x{665}\x{666}\x{667}\x{668}\x{669}\x{66a}
  208:     \x{6f0}\x{6f1}\x{6f2}\x{6f3}\x{6f4}\x{6f5}\x{6f6}\x{6f7}\x{6f8}\x{6f9}\x{6fa}
  209:     \x{966}\x{967}\x{968}\x{969}\x{96a}\x{96b}\x{96c}\x{96d}\x{96e}\x{96f}\x{970}
  210:     ** Failers
  211:     X
  212:   
  213: /^\p{Nl}/8
  214:     \x{16ee}
  215:     ** Failers
  216:     X
  217:     \x{966}
  218:   
  219: /^\p{No}/8
  220:     \x{b2}
  221:     \x{b3}
  222:     ** Failers
  223:     X
  224:     \x{16ee}
  225:   
  226: /^\p{Pc}/8
  227:     \x5f
  228:     \x{203f}
  229:     ** Failers
  230:     X
  231:     -
  232:     \x{58a}
  233:   
  234: /^\p{Pd}/8
  235:     -
  236:     \x{58a}
  237:     ** Failers
  238:     X
  239:     \x{203f}
  240:   
  241: /^\p{Pe}/8
  242:     )
  243:     ]
  244:     }
  245:     \x{f3b}
  246:     ** Failers
  247:     X
  248:     \x{203f}
  249:     (
  250:     [
  251:     {
  252:     \x{f3c}
  253:   
  254: /^\p{Pf}/8
  255:     \x{bb}
  256:     \x{2019}
  257:     ** Failers
  258:     X
  259:     \x{203f}
  260:   
  261: /^\p{Pi}/8
  262:     \x{ab}
  263:     \x{2018}
  264:     ** Failers
  265:     X
  266:     \x{203f}
  267:   
  268: /^\p{Po}/8
  269:     !
  270:     \x{37e}
  271:     ** Failers
  272:     X
  273:     \x{203f}
  274:   
  275: /^\p{Ps}/8
  276:     (
  277:     [
  278:     {
  279:     \x{f3c}
  280:     ** Failers
  281:     X
  282:     )
  283:     ]
  284:     }
  285:     \x{f3b}
  286:   
  287: /^\p{Sc}+/8
  288:     $\x{a2}\x{a3}\x{a4}\x{a5}\x{a6}
  289:     \x{9f2}
  290:     ** Failers
  291:     X
  292:     \x{2c2}
  293:   
  294: /^\p{Sk}/8
  295:     \x{2c2}
  296:     ** Failers
  297:     X
  298:     \x{9f2}
  299:   
  300: /^\p{Sm}+/8
  301:     +<|~\x{ac}\x{2044}
  302:     ** Failers
  303:     X
  304:     \x{9f2}
  305:   
  306: /^\p{So}/8
  307:     \x{a6}
  308:     \x{482} 
  309:     ** Failers
  310:     X
  311:     \x{9f2}
  312:   
  313: /^\p{Zl}/8
  314:     \x{2028}
  315:     ** Failers
  316:     X
  317:     \x{2029}
  318:   
  319: /^\p{Zp}/8
  320:     \x{2029}
  321:     ** Failers
  322:     X
  323:     \x{2028}
  324:   
  325: /^\p{Zs}/8
  326:     \ \
  327:     \x{a0}
  328:     \x{1680}
  329:     \x{180e}
  330:     \x{2000}
  331:     \x{2001}     
  332:     ** Failers
  333:     \x{2028}
  334:     \x{200d} 
  335:   
  336: /\p{Nd}+(..)/8
  337:       \x{660}\x{661}\x{662}ABC
  338:   
  339: /\p{Nd}+?(..)/8
  340:       \x{660}\x{661}\x{662}ABC
  341:   
  342: /\p{Nd}{2,}(..)/8
  343:       \x{660}\x{661}\x{662}ABC
  344:   
  345: /\p{Nd}{2,}?(..)/8
  346:       \x{660}\x{661}\x{662}ABC
  347:   
  348: /\p{Nd}*(..)/8
  349:       \x{660}\x{661}\x{662}ABC
  350:   
  351: /\p{Nd}*?(..)/8
  352:       \x{660}\x{661}\x{662}ABC
  353:   
  354: /\p{Nd}{2}(..)/8
  355:       \x{660}\x{661}\x{662}ABC
  356:   
  357: /\p{Nd}{2,3}(..)/8
  358:       \x{660}\x{661}\x{662}ABC
  359:   
  360: /\p{Nd}{2,3}?(..)/8
  361:       \x{660}\x{661}\x{662}ABC
  362:   
  363: /\p{Nd}?(..)/8
  364:       \x{660}\x{661}\x{662}ABC
  365:   
  366: /\p{Nd}??(..)/8
  367:       \x{660}\x{661}\x{662}ABC
  368:   
  369: /\p{Nd}*+(..)/8
  370:       \x{660}\x{661}\x{662}ABC
  371:   
  372: /\p{Nd}*+(...)/8
  373:       \x{660}\x{661}\x{662}ABC
  374:   
  375: /\p{Nd}*+(....)/8
  376:       ** Failers
  377:       \x{660}\x{661}\x{662}ABC
  378:   
  379: /\p{Lu}/8i
  380:     A
  381:     a\x{10a0}B 
  382:     ** Failers 
  383:     a
  384:     \x{1d00}  
  385: 
  386: /\p{^Lu}/8i
  387:     1234
  388:     ** Failers
  389:     ABC 
  390: 
  391: /\P{Lu}/8i
  392:     1234
  393:     ** Failers
  394:     ABC 
  395: 
  396: /(?<=A\p{Nd})XYZ/8
  397:     A2XYZ
  398:     123A5XYZPQR
  399:     ABA\x{660}XYZpqr
  400:     ** Failers
  401:     AXYZ
  402:     XYZ     
  403:     
  404: /(?<!\pL)XYZ/8
  405:     1XYZ
  406:     AB=XYZ.. 
  407:     XYZ 
  408:     ** Failers
  409:     WXYZ 
  410: 
  411: /[\p{Nd}]/8
  412:     1234
  413: 
  414: /[\p{Nd}+-]+/8
  415:     1234
  416:     12-34
  417:     12+\x{661}-34  
  418:     ** Failers
  419:     abcd  
  420: 
  421: /[\P{Nd}]+/8
  422:     abcd
  423:     ** Failers
  424:     1234
  425: 
  426: /\D+/8
  427:     11111111111111111111111111111111111111111111111111111111111111111111111
  428:     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
  429:      
  430: /\P{Nd}+/8
  431:     11111111111111111111111111111111111111111111111111111111111111111111111
  432:     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
  433: 
  434: /[\D]+/8
  435:     11111111111111111111111111111111111111111111111111111111111111111111111
  436:     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
  437: 
  438: /[\P{Nd}]+/8
  439:     11111111111111111111111111111111111111111111111111111111111111111111111
  440:     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
  441: 
  442: /[\D\P{Nd}]+/8
  443:     11111111111111111111111111111111111111111111111111111111111111111111111
  444:     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
  445: 
  446: /\pL/8
  447:     a
  448:     A 
  449: 
  450: /\pL/8i
  451:     a
  452:     A 
  453:     
  454: /\p{Lu}/8 
  455:     A
  456:     aZ
  457:     ** Failers
  458:     abc   
  459: 
  460: /\p{Lu}/8i
  461:     A
  462:     aZ
  463:     ** Failers
  464:     abc   
  465: 
  466: /\p{Ll}/8 
  467:     a
  468:     Az
  469:     ** Failers
  470:     ABC   
  471: 
  472: /\p{Ll}/8i 
  473:     a
  474:     Az
  475:     ** Failers
  476:     ABC   
  477: 
  478: /^\x{c0}$/8i
  479:     \x{c0}
  480:     \x{e0} 
  481: 
  482: /^\x{e0}$/8i
  483:     \x{c0}
  484:     \x{e0} 
  485: 
  486: /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8
  487:     A\x{391}\x{10427}\x{ff3a}\x{1fb0}
  488:     ** Failers
  489:     a\x{391}\x{10427}\x{ff3a}\x{1fb0}   
  490:     A\x{3b1}\x{10427}\x{ff3a}\x{1fb0}
  491:     A\x{391}\x{1044F}\x{ff3a}\x{1fb0}
  492:     A\x{391}\x{10427}\x{ff5a}\x{1fb0}
  493:     A\x{391}\x{10427}\x{ff3a}\x{1fb8}
  494: 
  495: /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8i
  496:     A\x{391}\x{10427}\x{ff3a}\x{1fb0}
  497:     a\x{391}\x{10427}\x{ff3a}\x{1fb0}   
  498:     A\x{3b1}\x{10427}\x{ff3a}\x{1fb0}
  499:     A\x{391}\x{1044F}\x{ff3a}\x{1fb0}
  500:     A\x{391}\x{10427}\x{ff5a}\x{1fb0}
  501:     A\x{391}\x{10427}\x{ff3a}\x{1fb8}
  502: 
  503: /\x{391}+/8i
  504:     \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}
  505: 
  506: /\x{391}{3,5}(.)/8i
  507:     \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X
  508: 
  509: /\x{391}{3,5}?(.)/8i
  510:     \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X
  511: 
  512: /[\x{391}\x{ff3a}]/8i
  513:     \x{391}
  514:     \x{ff3a}
  515:     \x{3b1}
  516:     \x{ff5a}   
  517:     
  518: /[\x{c0}\x{391}]/8i
  519:     \x{c0}
  520:     \x{e0} 
  521: 
  522: /[\x{105}-\x{109}]/8i
  523:     \x{104}
  524:     \x{105}
  525:     \x{109}  
  526:     ** Failers
  527:     \x{100}
  528:     \x{10a} 
  529:     
  530: /[z-\x{100}]/8i 
  531:     Z
  532:     z
  533:     \x{39c}
  534:     \x{178}
  535:     |
  536:     \x{80}
  537:     \x{ff}
  538:     \x{100}
  539:     \x{101} 
  540:     ** Failers
  541:     \x{102}
  542:     Y
  543:     y           
  544: 
  545: /[z-\x{100}]/8i
  546: 
  547: /^\X/8
  548:     A
  549:     A\x{300}BC 
  550:     A\x{300}\x{301}\x{302}BC 
  551:     *** Failers
  552:     \x{300}  
  553: 
  554: /^[\X]/8
  555:     X123
  556:     *** Failers
  557:     AXYZ
  558: 
  559: /^(\X*)C/8
  560:     A\x{300}\x{301}\x{302}BCA\x{300}\x{301} 
  561:     A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C 
  562: 
  563: /^(\X*?)C/8
  564:     A\x{300}\x{301}\x{302}BCA\x{300}\x{301} 
  565:     A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C 
  566: 
  567: /^(\X*)(.)/8
  568:     A\x{300}\x{301}\x{302}BCA\x{300}\x{301} 
  569:     A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C 
  570: 
  571: /^(\X*?)(.)/8
  572:     A\x{300}\x{301}\x{302}BCA\x{300}\x{301} 
  573:     A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C 
  574: 
  575: /^\X(.)/8
  576:     *** Failers
  577:     A\x{300}\x{301}\x{302}
  578: 
  579: /^\X{2,3}(.)/8
  580:     A\x{300}\x{301}B\x{300}X
  581:     A\x{300}\x{301}B\x{300}C\x{300}\x{301}
  582:     A\x{300}\x{301}B\x{300}C\x{300}\x{301}X
  583:     A\x{300}\x{301}B\x{300}C\x{300}\x{301}DA\x{300}X
  584:     
  585: /^\X{2,3}?(.)/8
  586:     A\x{300}\x{301}B\x{300}X
  587:     A\x{300}\x{301}B\x{300}C\x{300}\x{301}
  588:     A\x{300}\x{301}B\x{300}C\x{300}\x{301}X
  589:     A\x{300}\x{301}B\x{300}C\x{300}\x{301}DA\x{300}X
  590: 
  591: /^\pN{2,3}X/
  592:     12X
  593:     123X
  594:     *** Failers
  595:     X
  596:     1X
  597:     1234X     
  598: 
  599: /\x{100}/i8
  600:     \x{100}   
  601:     \x{101} 
  602:     
  603: /^\p{Han}+/8
  604:     \x{2e81}\x{3007}\x{2f804}\x{31a0}
  605:     ** Failers
  606:     \x{2e7f}  
  607: 
  608: /^\P{Katakana}+/8
  609:     \x{3105}
  610:     ** Failers
  611:     \x{30ff}  
  612: 
  613: /^[\p{Arabic}]/8
  614:     \x{06e9}
  615:     \x{060b}
  616:     ** Failers
  617:     X\x{06e9}   
  618: 
  619: /^[\P{Yi}]/8
  620:     \x{2f800}
  621:     ** Failers
  622:     \x{a014}
  623:     \x{a4c6}   
  624: 
  625: /^\p{Any}X/8
  626:     AXYZ
  627:     \x{1234}XYZ 
  628:     ** Failers
  629:     X  
  630:     
  631: /^\P{Any}X/8
  632:     ** Failers
  633:     AX
  634:     
  635: /^\p{Any}?X/8
  636:     XYZ
  637:     AXYZ
  638:     \x{1234}XYZ 
  639:     ** Failers
  640:     ABXYZ   
  641: 
  642: /^\P{Any}?X/8
  643:     XYZ
  644:     ** Failers
  645:     AXYZ
  646:     \x{1234}XYZ 
  647:     ABXYZ   
  648: 
  649: /^\p{Any}+X/8
  650:     AXYZ
  651:     \x{1234}XYZ
  652:     A\x{1234}XYZ
  653:     ** Failers
  654:     XYZ
  655: 
  656: /^\P{Any}+X/8
  657:     ** Failers
  658:     AXYZ
  659:     \x{1234}XYZ
  660:     A\x{1234}XYZ
  661:     XYZ
  662: 
  663: /^\p{Any}*X/8
  664:     XYZ
  665:     AXYZ
  666:     \x{1234}XYZ
  667:     A\x{1234}XYZ
  668:     ** Failers
  669: 
  670: /^\P{Any}*X/8
  671:     XYZ
  672:     ** Failers
  673:     AXYZ
  674:     \x{1234}XYZ
  675:     A\x{1234}XYZ
  676: 
  677: /^[\p{Any}]X/8
  678:     AXYZ
  679:     \x{1234}XYZ 
  680:     ** Failers
  681:     X  
  682:     
  683: /^[\P{Any}]X/8
  684:     ** Failers
  685:     AX
  686:     
  687: /^[\p{Any}]?X/8
  688:     XYZ
  689:     AXYZ
  690:     \x{1234}XYZ 
  691:     ** Failers
  692:     ABXYZ   
  693: 
  694: /^[\P{Any}]?X/8
  695:     XYZ
  696:     ** Failers
  697:     AXYZ
  698:     \x{1234}XYZ 
  699:     ABXYZ   
  700: 
  701: /^[\p{Any}]+X/8
  702:     AXYZ
  703:     \x{1234}XYZ
  704:     A\x{1234}XYZ
  705:     ** Failers
  706:     XYZ
  707: 
  708: /^[\P{Any}]+X/8
  709:     ** Failers
  710:     AXYZ
  711:     \x{1234}XYZ
  712:     A\x{1234}XYZ
  713:     XYZ
  714: 
  715: /^[\p{Any}]*X/8
  716:     XYZ
  717:     AXYZ
  718:     \x{1234}XYZ
  719:     A\x{1234}XYZ
  720:     ** Failers
  721: 
  722: /^[\P{Any}]*X/8
  723:     XYZ
  724:     ** Failers
  725:     AXYZ
  726:     \x{1234}XYZ
  727:     A\x{1234}XYZ
  728: 
  729: /^\p{Any}{3,5}?/8
  730:     abcdefgh
  731:     \x{1234}\n\r\x{3456}xyz 
  732: 
  733: /^\p{Any}{3,5}/8
  734:     abcdefgh
  735:     \x{1234}\n\r\x{3456}xyz 
  736: 
  737: /^\P{Any}{3,5}?/8
  738:     ** Failers
  739:     abcdefgh
  740:     \x{1234}\n\r\x{3456}xyz 
  741: 
  742: /^\p{L&}X/8
  743:      AXY
  744:      aXY
  745:      \x{1c5}XY
  746:      ** Failers
  747:      \x{1bb}XY
  748:      \x{2b0}XY
  749:      !XY      
  750: 
  751: /^[\p{L&}]X/8
  752:      AXY
  753:      aXY
  754:      \x{1c5}XY
  755:      ** Failers
  756:      \x{1bb}XY
  757:      \x{2b0}XY
  758:      !XY      
  759: 
  760: /^\p{L&}+X/8
  761:      AXY
  762:      aXY
  763:      AbcdeXyz 
  764:      \x{1c5}AbXY
  765:      abcDEXypqreXlmn 
  766:      ** Failers
  767:      \x{1bb}XY
  768:      \x{2b0}XY
  769:      !XY      
  770: 
  771: /^[\p{L&}]+X/8
  772:      AXY
  773:      aXY
  774:      AbcdeXyz 
  775:      \x{1c5}AbXY
  776:      abcDEXypqreXlmn 
  777:      ** Failers
  778:      \x{1bb}XY
  779:      \x{2b0}XY
  780:      !XY      
  781: 
  782: /^\p{L&}+?X/8
  783:      AXY
  784:      aXY
  785:      AbcdeXyz 
  786:      \x{1c5}AbXY
  787:      abcDEXypqreXlmn 
  788:      ** Failers
  789:      \x{1bb}XY
  790:      \x{2b0}XY
  791:      !XY      
  792: 
  793: /^[\p{L&}]+?X/8
  794:      AXY
  795:      aXY
  796:      AbcdeXyz 
  797:      \x{1c5}AbXY
  798:      abcDEXypqreXlmn 
  799:      ** Failers
  800:      \x{1bb}XY
  801:      \x{2b0}XY
  802:      !XY      
  803: 
  804: /^\P{L&}X/8
  805:      !XY
  806:      \x{1bb}XY
  807:      \x{2b0}XY
  808:      ** Failers
  809:      \x{1c5}XY
  810:      AXY      
  811: 
  812: /^[\P{L&}]X/8
  813:      !XY
  814:      \x{1bb}XY
  815:      \x{2b0}XY
  816:      ** Failers
  817:      \x{1c5}XY
  818:      AXY      
  819: 
  820: /^\x{023a}+?(\x{0130}+)/8i
  821:   \x{023a}\x{2c65}\x{0130}
  822:   
  823: /^\x{023a}+([^X])/8i
  824:   \x{023a}\x{2c65}X
  825:  
  826: /\x{c0}+\x{116}+/8i
  827:     \x{c0}\x{e0}\x{116}\x{117}
  828: 
  829: /[\x{c0}\x{116}]+/8i
  830:     \x{c0}\x{e0}\x{116}\x{117}
  831: 
  832: /Check property support in non-UTF-8 mode/
  833:  
  834: /\p{L}{4}/
  835:     123abcdefg
  836:     123abc\xc4\xc5zz
  837: 
  838: /\p{Carian}\p{Cham}\p{Kayah_Li}\p{Lepcha}\p{Lycian}\p{Lydian}\p{Ol_Chiki}\p{Rejang}\p{Saurashtra}\p{Sundanese}\p{Vai}/8
  839:     \x{102A4}\x{AA52}\x{A91D}\x{1C46}\x{10283}\x{1092E}\x{1C6B}\x{A93B}\x{A8BF}\x{1BA0}\x{A50A}====
  840: 
  841: /\x{a77d}\x{1d79}/8i
  842:     \x{a77d}\x{1d79}
  843:     \x{1d79}\x{a77d} 
  844: 
  845: /\x{a77d}\x{1d79}/8
  846:     \x{a77d}\x{1d79}
  847:     ** Failers 
  848:     \x{1d79}\x{a77d} 
  849: 
  850: /^\p{Xan}/8
  851:     ABCD
  852:     1234
  853:     \x{6ca}
  854:     \x{a6c}
  855:     \x{10a7}   
  856:     ** Failers
  857:     _ABC   
  858: 
  859: /^\p{Xan}+/8
  860:     ABCD1234\x{6ca}\x{a6c}\x{10a7}_
  861:     ** Failers
  862:     _ABC   
  863: 
  864: /^\p{Xan}*/8
  865:     ABCD1234\x{6ca}\x{a6c}\x{10a7}_
  866:     
  867: /^\p{Xan}{2,9}/8
  868:     ABCD1234\x{6ca}\x{a6c}\x{10a7}_
  869:     
  870: /^[\p{Xan}]/8
  871:     ABCD1234_
  872:     1234abcd_
  873:     \x{6ca}
  874:     \x{a6c}
  875:     \x{10a7}   
  876:     ** Failers
  877:     _ABC   
  878:  
  879: /^[\p{Xan}]+/8
  880:     ABCD1234\x{6ca}\x{a6c}\x{10a7}_
  881:     ** Failers
  882:     _ABC   
  883: 
  884: /^>\p{Xsp}/8
  885:     >\x{1680}\x{2028}\x{0b}
  886:     ** Failers
  887:     \x{0b} 
  888: 
  889: /^>\p{Xsp}+/8
  890:     > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
  891: 
  892: /^>\p{Xsp}*/8
  893:     > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
  894:     
  895: /^>\p{Xsp}{2,9}/8
  896:     > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
  897:     
  898: /^>[\p{Xsp}]/8
  899:     >\x{2028}\x{0b}
  900:  
  901: /^>[\p{Xsp}]+/8
  902:     > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
  903: 
  904: /^>\p{Xps}/8
  905:     >\x{1680}\x{2028}\x{0b}
  906:     >\x{a0} 
  907:     ** Failers
  908:     \x{0b} 
  909: 
  910: /^>\p{Xps}+/8
  911:     > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
  912: 
  913: /^>\p{Xps}+?/8
  914:     >\x{1680}\x{2028}\x{0b}
  915: 
  916: /^>\p{Xps}*/8
  917:     > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
  918:     
  919: /^>\p{Xps}{2,9}/8
  920:     > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
  921:     
  922: /^>\p{Xps}{2,9}?/8
  923:     > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
  924:     
  925: /^>[\p{Xps}]/8
  926:     >\x{2028}\x{0b}
  927:  
  928: /^>[\p{Xps}]+/8
  929:     > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
  930: 
  931: /^\p{Xwd}/8
  932:     ABCD
  933:     1234
  934:     \x{6ca}
  935:     \x{a6c}
  936:     \x{10a7}
  937:     _ABC    
  938:     ** Failers
  939:     [] 
  940: 
  941: /^\p{Xwd}+/8
  942:     ABCD1234\x{6ca}\x{a6c}\x{10a7}_
  943: 
  944: /^\p{Xwd}*/8
  945:     ABCD1234\x{6ca}\x{a6c}\x{10a7}_
  946:     
  947: /^\p{Xwd}{2,9}/8
  948:     A_12\x{6ca}\x{a6c}\x{10a7}
  949:     
  950: /^[\p{Xwd}]/8
  951:     ABCD1234_
  952:     1234abcd_
  953:     \x{6ca}
  954:     \x{a6c}
  955:     \x{10a7}   
  956:     _ABC 
  957:     ** Failers
  958:     []   
  959:  
  960: /^[\p{Xwd}]+/8
  961:     ABCD1234\x{6ca}\x{a6c}\x{10a7}_
  962: 
  963: /-- Unicode properties for \b abd \B --/
  964: 
  965: /\b...\B/8W
  966:     abc_
  967:     \x{37e}abc\x{376} 
  968:     \x{37e}\x{376}\x{371}\x{393}\x{394} 
  969:     !\x{c0}++\x{c1}\x{c2} 
  970:     !\x{c0}+++++ 
  971: 
  972: /-- Without PCRE_UCP, non-ASCII always fail, even if < 256  --/
  973: 
  974: /\b...\B/8
  975:     abc_
  976:     ** Failers 
  977:     \x{37e}abc\x{376} 
  978:     \x{37e}\x{376}\x{371}\x{393}\x{394} 
  979:     !\x{c0}++\x{c1}\x{c2} 
  980:     !\x{c0}+++++ 
  981: 
  982: /-- With PCRE_UCP, non-UTF8 chars that are < 256 still check properties  --/
  983: 
  984: /\b...\B/W
  985:     abc_
  986:     !\x{c0}++\x{c1}\x{c2} 
  987:     !\x{c0}+++++ 
  988: 
  989: /-- End of testinput10 --/ 

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