File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / pcre / testdata / testinput10
Revision 1.1.1.4 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Mon Jul 22 08:25:57 2013 UTC (11 years ago) by misho
Branches: pcre, MAIN
CVS tags: v8_33, HEAD
8.33

    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: /-- Caseless single negated characters > 127 need UCP support --/
  990: 
  991: /[^\x{100}]/8i
  992:     \x{100}\x{101}X
  993: 
  994: /[^\x{100}]+/8i
  995:     \x{100}\x{101}XX
  996: 
  997: /^\X/8
  998:     A\P
  999:     A\P\P 
 1000:     A\x{300}\x{301}\P
 1001:     A\x{300}\x{301}\P\P  
 1002:     A\x{301}\P
 1003:     A\x{301}\P\P  
 1004:     
 1005: /^\X{2,3}/8
 1006:     A\P
 1007:     A\P\P 
 1008:     AA\P
 1009:     AA\P\P  
 1010:     A\x{300}\x{301}\P
 1011:     A\x{300}\x{301}\P\P  
 1012:     A\x{300}\x{301}A\x{300}\x{301}\P
 1013:     A\x{300}\x{301}A\x{300}\x{301}\P\P  
 1014: 
 1015: /^\X{2}/8
 1016:     AA\P
 1017:     AA\P\P  
 1018:     A\x{300}\x{301}A\x{300}\x{301}\P
 1019:     A\x{300}\x{301}A\x{300}\x{301}\P\P  
 1020:     
 1021: /^\X+/8
 1022:     AA\P
 1023:     AA\P\P  
 1024: 
 1025: /^\X+?Z/8
 1026:     AA\P
 1027:     AA\P\P 
 1028: 
 1029: /-- These are tests for extended grapheme clusters --/ 
 1030: 
 1031: /^\X/8+
 1032:     G\x{34e}\x{34e}X
 1033:     \x{34e}\x{34e}X
 1034:     \x04X
 1035:     \x{1100}X
 1036:     \x{1100}\x{34e}X
 1037:     \x{1b04}\x{1b04}X 
 1038:     *These match up to the roman letters
 1039:     \x{1111}\x{1111}L,L
 1040:     \x{1111}\x{1111}\x{1169}L,L,V
 1041:     \x{1111}\x{ae4c}L, LV
 1042:     \x{1111}\x{ad89}L, LVT
 1043:     \x{1111}\x{ae4c}\x{1169}L, LV, V
 1044:     \x{1111}\x{ae4c}\x{1169}\x{1169}L, LV, V, V
 1045:     \x{1111}\x{ae4c}\x{1169}\x{11fe}L, LV, V, T
 1046:     \x{1111}\x{ad89}\x{11fe}L, LVT, T
 1047:     \x{1111}\x{ad89}\x{11fe}\x{11fe}L, LVT, T, T
 1048:     \x{ad89}\x{11fe}\x{11fe}LVT, T, T
 1049:     *These match just the first codepoint (invalid sequence)
 1050:     \x{1111}\x{11fe}L, T
 1051:     \x{ae4c}\x{1111}LV, L
 1052:     \x{ae4c}\x{ae4c}LV, LV
 1053:     \x{ae4c}\x{ad89}LV, LVT
 1054:     \x{1169}\x{1111}V, L
 1055:     \x{1169}\x{ae4c}V, LV
 1056:     \x{1169}\x{ad89}V, LVT
 1057:     \x{ad89}\x{1111}LVT, L
 1058:     \x{ad89}\x{1169}LVT, V
 1059:     \x{ad89}\x{ae4c}LVT, LV
 1060:     \x{ad89}\x{ad89}LVT, LVT
 1061:     \x{11fe}\x{1111}T, L
 1062:     \x{11fe}\x{1169}T, V
 1063:     \x{11fe}\x{ae4c}T, LV
 1064:     \x{11fe}\x{ad89}T, LVT
 1065:     *Test extend and spacing mark
 1066:     \x{1111}\x{ae4c}\x{0711}L, LV, extend
 1067:     \x{1111}\x{ae4c}\x{1b04}L, LV, spacing mark
 1068:     \x{1111}\x{ae4c}\x{1b04}\x{0711}\x{1b04}L, LV, spacing mark, extend, spacing mark
 1069:     *Test CR, LF, and control
 1070:     \x0d\x{0711}CR, extend
 1071:     \x0d\x{1b04}CR, spacingmark
 1072:     \x0a\x{0711}LF, extend
 1073:     \x0a\x{1b04}LF, spacingmark
 1074:     \x0b\x{0711}Control, extend
 1075:     \x09\x{1b04}Control, spacingmark
 1076:     *There are no Prepend characters, so we can't test Prepend, CR
 1077:     
 1078: /^(?>\X{2})X/8+
 1079:     \x{1111}\x{ae4c}\x{1111}\x{ae4c}X
 1080:     
 1081: /^\X{2,4}X/8+
 1082:     \x{1111}\x{ae4c}\x{1111}\x{ae4c}X
 1083:     \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
 1084:     \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
 1085: 
 1086: /^\X{2,4}?X/8+
 1087:     \x{1111}\x{ae4c}\x{1111}\x{ae4c}X
 1088:     \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
 1089:     \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
 1090: 
 1091: /-- --/
 1092: 
 1093: /\x{1e9e}+/8i
 1094:     \x{1e9e}\x{00df}
 1095: 
 1096: /[z\x{1e9e}]+/8i
 1097:     \x{1e9e}\x{00df}
 1098: 
 1099: /\x{00df}+/8i
 1100:     \x{1e9e}\x{00df}
 1101: 
 1102: /[z\x{00df}]+/8i
 1103:     \x{1e9e}\x{00df}
 1104: 
 1105: /\x{1f88}+/8i
 1106:     \x{1f88}\x{1f80} 
 1107: 
 1108: /[z\x{1f88}]+/8i
 1109:     \x{1f88}\x{1f80} 
 1110: 
 1111: /-- Perl matches these --/
 1112: 
 1113: /\x{00b5}+/8i
 1114:     \x{00b5}\x{039c}\x{03bc}
 1115: 
 1116: /\x{039c}+/8i
 1117:     \x{00b5}\x{039c}\x{03bc}
 1118: 
 1119: /\x{03bc}+/8i
 1120:     \x{00b5}\x{039c}\x{03bc}
 1121: 
 1122: 
 1123: /\x{00c5}+/8i
 1124:     \x{00c5}\x{00e5}\x{212b}
 1125: 
 1126: /\x{00e5}+/8i
 1127:     \x{00c5}\x{00e5}\x{212b}
 1128: 
 1129: /\x{212b}+/8i
 1130:     \x{00c5}\x{00e5}\x{212b}
 1131: 
 1132: 
 1133: /\x{01c4}+/8i
 1134:     \x{01c4}\x{01c5}\x{01c6}
 1135: 
 1136: /\x{01c5}+/8i
 1137:     \x{01c4}\x{01c5}\x{01c6}
 1138: 
 1139: /\x{01c6}+/8i
 1140:     \x{01c4}\x{01c5}\x{01c6}
 1141: 
 1142: 
 1143: /\x{01c7}+/8i
 1144:     \x{01c7}\x{01c8}\x{01c9}
 1145: 
 1146: /\x{01c8}+/8i
 1147:     \x{01c7}\x{01c8}\x{01c9}
 1148: 
 1149: /\x{01c9}+/8i
 1150:     \x{01c7}\x{01c8}\x{01c9}
 1151: 
 1152: 
 1153: /\x{01ca}+/8i
 1154:     \x{01ca}\x{01cb}\x{01cc}
 1155: 
 1156: /\x{01cb}+/8i
 1157:     \x{01ca}\x{01cb}\x{01cc}
 1158: 
 1159: /\x{01cc}+/8i
 1160:     \x{01ca}\x{01cb}\x{01cc}
 1161: 
 1162: 
 1163: /\x{01f1}+/8i
 1164:     \x{01f1}\x{01f2}\x{01f3}
 1165: 
 1166: /\x{01f2}+/8i
 1167:     \x{01f1}\x{01f2}\x{01f3}
 1168: 
 1169: /\x{01f3}+/8i
 1170:     \x{01f1}\x{01f2}\x{01f3}
 1171: 
 1172: 
 1173: /\x{0345}+/8i
 1174:     \x{0345}\x{0399}\x{03b9}\x{1fbe}
 1175: 
 1176: /\x{0399}+/8i
 1177:     \x{0345}\x{0399}\x{03b9}\x{1fbe}
 1178: 
 1179: /\x{03b9}+/8i
 1180:     \x{0345}\x{0399}\x{03b9}\x{1fbe}
 1181: 
 1182: /\x{1fbe}+/8i
 1183:     \x{0345}\x{0399}\x{03b9}\x{1fbe}
 1184: 
 1185: 
 1186: /\x{0392}+/8i
 1187:     \x{0392}\x{03b2}\x{03d0}
 1188: 
 1189: /\x{03b2}+/8i
 1190:     \x{0392}\x{03b2}\x{03d0}
 1191: 
 1192: /\x{03d0}+/8i
 1193:     \x{0392}\x{03b2}\x{03d0}
 1194:     
 1195: 
 1196: /\x{0395}+/8i
 1197:     \x{0395}\x{03b5}\x{03f5}
 1198: 
 1199: /\x{03b5}+/8i
 1200:     \x{0395}\x{03b5}\x{03f5}
 1201: 
 1202: /\x{03f5}+/8i
 1203:     \x{0395}\x{03b5}\x{03f5}
 1204: 
 1205: 
 1206: /\x{0398}+/8i
 1207:     \x{0398}\x{03b8}\x{03d1}\x{03f4}
 1208: 
 1209: /\x{03b8}+/8i
 1210:     \x{0398}\x{03b8}\x{03d1}\x{03f4}
 1211: 
 1212: /\x{03d1}+/8i
 1213:     \x{0398}\x{03b8}\x{03d1}\x{03f4}
 1214: 
 1215: /\x{03f4}+/8i
 1216:     \x{0398}\x{03b8}\x{03d1}\x{03f4}
 1217:     
 1218: 
 1219: /\x{039a}+/8i
 1220:     \x{039a}\x{03ba}\x{03f0}
 1221: 
 1222: /\x{03ba}+/8i
 1223:     \x{039a}\x{03ba}\x{03f0}
 1224: 
 1225: /\x{03f0}+/8i
 1226:     \x{039a}\x{03ba}\x{03f0}
 1227:     
 1228: 
 1229: /\x{03a0}+/8i
 1230:     \x{03a0}\x{03c0}\x{03d6} 
 1231: 
 1232: /\x{03c0}+/8i
 1233:     \x{03a0}\x{03c0}\x{03d6} 
 1234: 
 1235: /\x{03d6}+/8i
 1236:     \x{03a0}\x{03c0}\x{03d6} 
 1237: 
 1238: 
 1239: /\x{03a1}+/8i
 1240:     \x{03a1}\x{03c1}\x{03f1}
 1241: 
 1242: /\x{03c1}+/8i
 1243:     \x{03a1}\x{03c1}\x{03f1}
 1244: 
 1245: /\x{03f1}+/8i
 1246:     \x{03a1}\x{03c1}\x{03f1}
 1247: 
 1248: 
 1249: /\x{03a3}+/8i
 1250:     \x{03A3}\x{03C2}\x{03C3}
 1251: 
 1252: /\x{03c2}+/8i
 1253:     \x{03A3}\x{03C2}\x{03C3}
 1254: 
 1255: /\x{03c3}+/8i
 1256:     \x{03A3}\x{03C2}\x{03C3}
 1257:     
 1258: 
 1259: /\x{03a6}+/8i
 1260:     \x{03a6}\x{03c6}\x{03d5} 
 1261: 
 1262: /\x{03c6}+/8i
 1263:     \x{03a6}\x{03c6}\x{03d5} 
 1264: 
 1265: /\x{03d5}+/8i
 1266:     \x{03a6}\x{03c6}\x{03d5} 
 1267: 
 1268: 
 1269: /\x{03c9}+/8i
 1270:     \x{03c9}\x{03a9}\x{2126}
 1271: 
 1272: /\x{03a9}+/8i
 1273:     \x{03c9}\x{03a9}\x{2126}
 1274: 
 1275: /\x{2126}+/8i
 1276:     \x{03c9}\x{03a9}\x{2126}
 1277:     
 1278: 
 1279: /\x{1e60}+/8i
 1280:     \x{1e60}\x{1e61}\x{1e9b}
 1281: 
 1282: /\x{1e61}+/8i
 1283:     \x{1e60}\x{1e61}\x{1e9b}
 1284: 
 1285: /\x{1e9b}+/8i
 1286:     \x{1e60}\x{1e61}\x{1e9b}
 1287:     
 1288: 
 1289: /\x{1e9e}+/8i
 1290:     \x{1e9e}\x{00df}
 1291: 
 1292: /\x{00df}+/8i
 1293:     \x{1e9e}\x{00df}
 1294:     
 1295: 
 1296: /\x{1f88}+/8i
 1297:     \x{1f88}\x{1f80} 
 1298: 
 1299: /\x{1f80}+/8i
 1300:     \x{1f88}\x{1f80} 
 1301: 
 1302: /\x{004b}+/8i
 1303:     \x{004b}\x{006b}\x{212a}
 1304: 
 1305: /\x{006b}+/8i
 1306:     \x{004b}\x{006b}\x{212a}
 1307: 
 1308: /\x{212a}+/8i
 1309:     \x{004b}\x{006b}\x{212a}
 1310: 
 1311: 
 1312: /\x{0053}+/8i
 1313:     \x{0053}\x{0073}\x{017f}
 1314: 
 1315: /\x{0073}+/8i
 1316:     \x{0053}\x{0073}\x{017f}
 1317: 
 1318: /\x{017f}+/8i
 1319:     \x{0053}\x{0073}\x{017f}
 1320: 
 1321: /ist/8i
 1322:     ikt
 1323: 
 1324: /is+t/8i
 1325:     iSs\x{17f}t
 1326:     ikt
 1327: 
 1328: /is+?t/8i
 1329:     ikt
 1330: 
 1331: /is?t/8i
 1332:     ikt
 1333: 
 1334: /is{2}t/8i
 1335:     iskt
 1336: 
 1337: /^\p{Xuc}/8
 1338:     $abc
 1339:     @abc
 1340:     `abc
 1341:     \x{1234}abc
 1342:     ** Failers
 1343:     abc     
 1344: 
 1345: /^\p{Xuc}+/8
 1346:     $@`\x{a0}\x{1234}\x{e000}**
 1347:     ** Failers
 1348:     \x{9f}
 1349: 
 1350: /^\p{Xuc}+?/8
 1351:     $@`\x{a0}\x{1234}\x{e000}**
 1352:     ** Failers
 1353:     \x{9f}
 1354: 
 1355: /^\p{Xuc}+?\*/8
 1356:     $@`\x{a0}\x{1234}\x{e000}**
 1357:     ** Failers
 1358:     \x{9f}
 1359: 
 1360: /^\p{Xuc}++/8
 1361:     $@`\x{a0}\x{1234}\x{e000}**
 1362:     ** Failers
 1363:     \x{9f}
 1364: 
 1365: /^\p{Xuc}{3,5}/8
 1366:     $@`\x{a0}\x{1234}\x{e000}**
 1367:     ** Failers
 1368:     \x{9f}
 1369: 
 1370: /^\p{Xuc}{3,5}?/8
 1371:     $@`\x{a0}\x{1234}\x{e000}**
 1372:     ** Failers
 1373:     \x{9f}
 1374: 
 1375: /^[\p{Xuc}]/8
 1376:     $@`\x{a0}\x{1234}\x{e000}**
 1377:     ** Failers
 1378:     \x{9f}
 1379: 
 1380: /^[\p{Xuc}]+/8
 1381:     $@`\x{a0}\x{1234}\x{e000}**
 1382:     ** Failers
 1383:     \x{9f}
 1384: 
 1385: /^\P{Xuc}/8
 1386:     abc
 1387:     ** Failers
 1388:     $abc
 1389:     @abc
 1390:     `abc
 1391:     \x{1234}abc
 1392: 
 1393: /^[\P{Xuc}]/8
 1394:     abc
 1395:     ** Failers
 1396:     $abc
 1397:     @abc
 1398:     `abc
 1399:     \x{1234}abc
 1400: 
 1401: /-- End of testinput10 --/ 

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