File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / pcre / testdata / testoutput5
Revision 1.1: download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 23:05:52 2012 UTC (12 years, 5 months ago) by misho
CVS tags: MAIN, HEAD
Initial revision

    1: /-- This set of tests checks the API, internals, and non-Perl stuff for UTF-8
    2:     support, excluding Unicode properties. --/
    3: 
    4: /\x{100}/8DZ
    5: ------------------------------------------------------------------
    6:         Bra
    7:         \x{100}
    8:         Ket
    9:         End
   10: ------------------------------------------------------------------
   11: Capturing subpattern count = 0
   12: Options: utf8
   13: First char = 196
   14: Need char = 128
   15: 
   16: /\x{1000}/8DZ
   17: ------------------------------------------------------------------
   18:         Bra
   19:         \x{1000}
   20:         Ket
   21:         End
   22: ------------------------------------------------------------------
   23: Capturing subpattern count = 0
   24: Options: utf8
   25: First char = 225
   26: Need char = 128
   27: 
   28: /\x{10000}/8DZ
   29: ------------------------------------------------------------------
   30:         Bra
   31:         \x{10000}
   32:         Ket
   33:         End
   34: ------------------------------------------------------------------
   35: Capturing subpattern count = 0
   36: Options: utf8
   37: First char = 240
   38: Need char = 128
   39: 
   40: /\x{100000}/8DZ
   41: ------------------------------------------------------------------
   42:         Bra
   43:         \x{100000}
   44:         Ket
   45:         End
   46: ------------------------------------------------------------------
   47: Capturing subpattern count = 0
   48: Options: utf8
   49: First char = 244
   50: Need char = 128
   51: 
   52: /\x{1000000}/8DZ
   53: ------------------------------------------------------------------
   54:         Bra
   55:         \x{1000000}
   56:         Ket
   57:         End
   58: ------------------------------------------------------------------
   59: Capturing subpattern count = 0
   60: Options: utf8
   61: First char = 249
   62: Need char = 128
   63: 
   64: /\x{4000000}/8DZ
   65: ------------------------------------------------------------------
   66:         Bra
   67:         \x{4000000}
   68:         Ket
   69:         End
   70: ------------------------------------------------------------------
   71: Capturing subpattern count = 0
   72: Options: utf8
   73: First char = 252
   74: Need char = 128
   75: 
   76: /\x{7fffFFFF}/8DZ
   77: ------------------------------------------------------------------
   78:         Bra
   79:         \x{7fffffff}
   80:         Ket
   81:         End
   82: ------------------------------------------------------------------
   83: Capturing subpattern count = 0
   84: Options: utf8
   85: First char = 253
   86: Need char = 191
   87: 
   88: /[\x{ff}]/8DZ
   89: ------------------------------------------------------------------
   90:         Bra
   91:         \x{ff}
   92:         Ket
   93:         End
   94: ------------------------------------------------------------------
   95: Capturing subpattern count = 0
   96: Options: utf8
   97: First char = 195
   98: Need char = 191
   99: 
  100: /[\x{100}]/8DZ
  101: ------------------------------------------------------------------
  102:         Bra
  103:         [\x{100}]
  104:         Ket
  105:         End
  106: ------------------------------------------------------------------
  107: Capturing subpattern count = 0
  108: Options: utf8
  109: No first char
  110: No need char
  111: 
  112: /\x{ffffffff}/8
  113: Failed: character value in \x{...} sequence is too large at offset 11
  114: 
  115: /\x{100000000}/8
  116: Failed: character value in \x{...} sequence is too large at offset 12
  117: 
  118: /^\x{100}a\x{1234}/8
  119:     \x{100}a\x{1234}bcd
  120:  0: \x{100}a\x{1234}
  121: 
  122: /\x80/8DZ
  123: ------------------------------------------------------------------
  124:         Bra
  125:         \x{80}
  126:         Ket
  127:         End
  128: ------------------------------------------------------------------
  129: Capturing subpattern count = 0
  130: Options: utf8
  131: First char = 194
  132: Need char = 128
  133: 
  134: /\xff/8DZ
  135: ------------------------------------------------------------------
  136:         Bra
  137:         \x{ff}
  138:         Ket
  139:         End
  140: ------------------------------------------------------------------
  141: Capturing subpattern count = 0
  142: Options: utf8
  143: First char = 195
  144: Need char = 191
  145: 
  146: /\x{0041}\x{2262}\x{0391}\x{002e}/DZ8
  147: ------------------------------------------------------------------
  148:         Bra
  149:         A\x{2262}\x{391}.
  150:         Ket
  151:         End
  152: ------------------------------------------------------------------
  153: Capturing subpattern count = 0
  154: Options: utf8
  155: First char = 'A'
  156: Need char = '.'
  157:     \x{0041}\x{2262}\x{0391}\x{002e}
  158:  0: A\x{2262}\x{391}.
  159:     
  160: /\x{D55c}\x{ad6d}\x{C5B4}/DZ8 
  161: ------------------------------------------------------------------
  162:         Bra
  163:         \x{d55c}\x{ad6d}\x{c5b4}
  164:         Ket
  165:         End
  166: ------------------------------------------------------------------
  167: Capturing subpattern count = 0
  168: Options: utf8
  169: First char = 237
  170: Need char = 180
  171:     \x{D55c}\x{ad6d}\x{C5B4} 
  172:  0: \x{d55c}\x{ad6d}\x{c5b4}
  173: 
  174: /\x{65e5}\x{672c}\x{8a9e}/DZ8
  175: ------------------------------------------------------------------
  176:         Bra
  177:         \x{65e5}\x{672c}\x{8a9e}
  178:         Ket
  179:         End
  180: ------------------------------------------------------------------
  181: Capturing subpattern count = 0
  182: Options: utf8
  183: First char = 230
  184: Need char = 158
  185:     \x{65e5}\x{672c}\x{8a9e}
  186:  0: \x{65e5}\x{672c}\x{8a9e}
  187: 
  188: /\x{80}/DZ8
  189: ------------------------------------------------------------------
  190:         Bra
  191:         \x{80}
  192:         Ket
  193:         End
  194: ------------------------------------------------------------------
  195: Capturing subpattern count = 0
  196: Options: utf8
  197: First char = 194
  198: Need char = 128
  199: 
  200: /\x{084}/DZ8
  201: ------------------------------------------------------------------
  202:         Bra
  203:         \x{84}
  204:         Ket
  205:         End
  206: ------------------------------------------------------------------
  207: Capturing subpattern count = 0
  208: Options: utf8
  209: First char = 194
  210: Need char = 132
  211: 
  212: /\x{104}/DZ8
  213: ------------------------------------------------------------------
  214:         Bra
  215:         \x{104}
  216:         Ket
  217:         End
  218: ------------------------------------------------------------------
  219: Capturing subpattern count = 0
  220: Options: utf8
  221: First char = 196
  222: Need char = 132
  223: 
  224: /\x{861}/DZ8
  225: ------------------------------------------------------------------
  226:         Bra
  227:         \x{861}
  228:         Ket
  229:         End
  230: ------------------------------------------------------------------
  231: Capturing subpattern count = 0
  232: Options: utf8
  233: First char = 224
  234: Need char = 161
  235: 
  236: /\x{212ab}/DZ8
  237: ------------------------------------------------------------------
  238:         Bra
  239:         \x{212ab}
  240:         Ket
  241:         End
  242: ------------------------------------------------------------------
  243: Capturing subpattern count = 0
  244: Options: utf8
  245: First char = 240
  246: Need char = 171
  247: 
  248: /.{3,5}X/DZ8
  249: ------------------------------------------------------------------
  250:         Bra
  251:         Any{3}
  252:         Any{0,2}
  253:         X
  254:         Ket
  255:         End
  256: ------------------------------------------------------------------
  257: Capturing subpattern count = 0
  258: Options: utf8
  259: No first char
  260: Need char = 'X'
  261:     \x{212ab}\x{212ab}\x{212ab}\x{861}X
  262:  0: \x{212ab}\x{212ab}\x{212ab}\x{861}X
  263: 
  264: 
  265: /.{3,5}?/DZ8
  266: ------------------------------------------------------------------
  267:         Bra
  268:         Any{3}
  269:         Any{0,2}?
  270:         Ket
  271:         End
  272: ------------------------------------------------------------------
  273: Capturing subpattern count = 0
  274: Options: utf8
  275: No first char
  276: No need char
  277:     \x{212ab}\x{212ab}\x{212ab}\x{861}
  278:  0: \x{212ab}\x{212ab}\x{212ab}
  279: 
  280: /(?<=\C)X/8
  281: Failed: \C not allowed in lookbehind assertion at offset 6
  282: 
  283: /-- This one is here not because it's different to Perl, but because the way
  284: the captured single-byte is displayed. (In Perl it becomes a character, and you
  285: can't tell the difference.) --/
  286:     
  287: /X(\C)(.*)/8
  288:     X\x{1234}
  289:  0: X\x{1234}
  290:  1: \xe1
  291:  2: \x88\xb4
  292:     X\nabc 
  293:  0: X\x{0a}abc
  294:  1: \x{0a}
  295:  2: abc
  296: 
  297: /-- This one is here because Perl gives out a grumbly error message (quite 
  298: correctly, but that messes up comparisons). --/
  299:     
  300: /a\Cb/8
  301:     *** Failers 
  302: No match
  303:     a\x{100}b 
  304: No match
  305:     
  306: /^[ab]/8DZ
  307: ------------------------------------------------------------------
  308:         Bra
  309:         ^
  310:         [ab]
  311:         Ket
  312:         End
  313: ------------------------------------------------------------------
  314: Capturing subpattern count = 0
  315: Options: anchored utf8
  316: No first char
  317: No need char
  318:     bar
  319:  0: b
  320:     *** Failers
  321: No match
  322:     c
  323: No match
  324:     \x{ff}
  325: No match
  326:     \x{100}  
  327: No match
  328: 
  329: /^[^ab]/8DZ
  330: ------------------------------------------------------------------
  331:         Bra
  332:         ^
  333:         [\x00-`c-\xff] (neg)
  334:         Ket
  335:         End
  336: ------------------------------------------------------------------
  337: Capturing subpattern count = 0
  338: Options: anchored utf8
  339: No first char
  340: No need char
  341:     c
  342:  0: c
  343:     \x{ff}
  344:  0: \x{ff}
  345:     \x{100}  
  346:  0: \x{100}
  347:     *** Failers 
  348:  0: *
  349:     aaa
  350: No match
  351:   
  352: /[^ab\xC0-\xF0]/8SDZ
  353: ------------------------------------------------------------------
  354:         Bra
  355:         [\x00-`c-\xbf\xf1-\xff] (neg)
  356:         Ket
  357:         End
  358: ------------------------------------------------------------------
  359: Capturing subpattern count = 0
  360: Options: utf8
  361: No first char
  362: No need char
  363: Subject length lower bound = 1
  364: Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a 
  365:   \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 
  366:   \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 
  367:   5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y 
  368:   Z [ \ ] ^ _ ` c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ \x7f 
  369:   \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce \xcf \xd0 
  370:   \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd \xde \xdf 
  371:   \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec \xed \xee 
  372:   \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb \xfc \xfd 
  373:   \xfe \xff 
  374:     \x{f1}
  375:  0: \x{f1}
  376:     \x{bf}
  377:  0: \x{bf}
  378:     \x{100}
  379:  0: \x{100}
  380:     \x{1000}   
  381:  0: \x{1000}
  382:     *** Failers
  383:  0: *
  384:     \x{c0} 
  385: No match
  386:     \x{f0} 
  387: No match
  388: 
  389: /Ā{3,4}/8SDZ
  390: ------------------------------------------------------------------
  391:         Bra
  392:         \x{100}{3}
  393:         \x{100}?
  394:         Ket
  395:         End
  396: ------------------------------------------------------------------
  397: Capturing subpattern count = 0
  398: Options: utf8
  399: First char = 196
  400: Need char = 128
  401: Subject length lower bound = 3
  402: No set of starting bytes
  403:   \x{100}\x{100}\x{100}\x{100\x{100}
  404:  0: \x{100}\x{100}\x{100}
  405: 
  406: /(\x{100}+|x)/8SDZ
  407: ------------------------------------------------------------------
  408:         Bra
  409:         CBra 1
  410:         \x{100}+
  411:         Alt
  412:         x
  413:         Ket
  414:         Ket
  415:         End
  416: ------------------------------------------------------------------
  417: Capturing subpattern count = 1
  418: Options: utf8
  419: No first char
  420: No need char
  421: Subject length lower bound = 1
  422: Starting byte set: x \xc4 
  423: 
  424: /(\x{100}*a|x)/8SDZ
  425: ------------------------------------------------------------------
  426:         Bra
  427:         CBra 1
  428:         \x{100}*+
  429:         a
  430:         Alt
  431:         x
  432:         Ket
  433:         Ket
  434:         End
  435: ------------------------------------------------------------------
  436: Capturing subpattern count = 1
  437: Options: utf8
  438: No first char
  439: No need char
  440: Subject length lower bound = 1
  441: Starting byte set: a x \xc4 
  442: 
  443: /(\x{100}{0,2}a|x)/8SDZ
  444: ------------------------------------------------------------------
  445:         Bra
  446:         CBra 1
  447:         \x{100}{0,2}
  448:         a
  449:         Alt
  450:         x
  451:         Ket
  452:         Ket
  453:         End
  454: ------------------------------------------------------------------
  455: Capturing subpattern count = 1
  456: Options: utf8
  457: No first char
  458: No need char
  459: Subject length lower bound = 1
  460: Starting byte set: a x \xc4 
  461: 
  462: /(\x{100}{1,2}a|x)/8SDZ
  463: ------------------------------------------------------------------
  464:         Bra
  465:         CBra 1
  466:         \x{100}
  467:         \x{100}{0,1}
  468:         a
  469:         Alt
  470:         x
  471:         Ket
  472:         Ket
  473:         End
  474: ------------------------------------------------------------------
  475: Capturing subpattern count = 1
  476: Options: utf8
  477: No first char
  478: No need char
  479: Subject length lower bound = 1
  480: Starting byte set: x \xc4 
  481: 
  482: /\x{100}*(\d+|"(?1)")/8
  483:     1234
  484:  0: 1234
  485:  1: 1234
  486:     "1234" 
  487:  0: "1234"
  488:  1: "1234"
  489:     \x{100}1234
  490:  0: \x{100}1234
  491:  1: 1234
  492:     "\x{100}1234"  
  493:  0: \x{100}1234
  494:  1: 1234
  495:     \x{100}\x{100}12ab 
  496:  0: \x{100}\x{100}12
  497:  1: 12
  498:     \x{100}\x{100}"12" 
  499:  0: \x{100}\x{100}"12"
  500:  1: "12"
  501:     *** Failers 
  502: No match
  503:     \x{100}\x{100}abcd
  504: No match
  505: 
  506: /\x{100}/8DZ
  507: ------------------------------------------------------------------
  508:         Bra
  509:         \x{100}
  510:         Ket
  511:         End
  512: ------------------------------------------------------------------
  513: Capturing subpattern count = 0
  514: Options: utf8
  515: First char = 196
  516: Need char = 128
  517: 
  518: /\x{100}*/8DZ
  519: ------------------------------------------------------------------
  520:         Bra
  521:         \x{100}*
  522:         Ket
  523:         End
  524: ------------------------------------------------------------------
  525: Capturing subpattern count = 0
  526: Options: utf8
  527: No first char
  528: No need char
  529: 
  530: /a\x{100}*/8DZ
  531: ------------------------------------------------------------------
  532:         Bra
  533:         a
  534:         \x{100}*
  535:         Ket
  536:         End
  537: ------------------------------------------------------------------
  538: Capturing subpattern count = 0
  539: Options: utf8
  540: First char = 'a'
  541: No need char
  542: 
  543: /ab\x{100}*/8DZ
  544: ------------------------------------------------------------------
  545:         Bra
  546:         ab
  547:         \x{100}*
  548:         Ket
  549:         End
  550: ------------------------------------------------------------------
  551: Capturing subpattern count = 0
  552: Options: utf8
  553: First char = 'a'
  554: Need char = 'b'
  555: 
  556: /a\x{100}\x{101}*/8DZ
  557: ------------------------------------------------------------------
  558:         Bra
  559:         a\x{100}
  560:         \x{101}*
  561:         Ket
  562:         End
  563: ------------------------------------------------------------------
  564: Capturing subpattern count = 0
  565: Options: utf8
  566: First char = 'a'
  567: Need char = 128
  568: 
  569: /a\x{100}\x{101}+/8DZ
  570: ------------------------------------------------------------------
  571:         Bra
  572:         a\x{100}
  573:         \x{101}+
  574:         Ket
  575:         End
  576: ------------------------------------------------------------------
  577: Capturing subpattern count = 0
  578: Options: utf8
  579: First char = 'a'
  580: Need char = 129
  581: 
  582: /\x{100}*A/8DZ
  583: ------------------------------------------------------------------
  584:         Bra
  585:         \x{100}*+
  586:         A
  587:         Ket
  588:         End
  589: ------------------------------------------------------------------
  590: Capturing subpattern count = 0
  591: Options: utf8
  592: No first char
  593: Need char = 'A'
  594:     A
  595:  0: A
  596: 
  597: /\x{100}*\d(?R)/8DZ
  598: ------------------------------------------------------------------
  599:         Bra
  600:         \x{100}*+
  601:         \d
  602:         Recurse
  603:         Ket
  604:         End
  605: ------------------------------------------------------------------
  606: Capturing subpattern count = 0
  607: Options: utf8
  608: No first char
  609: No need char
  610: 
  611: /[^\x{c4}]/DZ
  612: ------------------------------------------------------------------
  613:         Bra
  614:         [^\xc4]
  615:         Ket
  616:         End
  617: ------------------------------------------------------------------
  618: Capturing subpattern count = 0
  619: No options
  620: No first char
  621: No need char
  622: 
  623: /[^\x{c4}]/8DZ
  624: ------------------------------------------------------------------
  625:         Bra
  626:         [\x00-\xc3\xc5-\xff] (neg)
  627:         Ket
  628:         End
  629: ------------------------------------------------------------------
  630: Capturing subpattern count = 0
  631: Options: utf8
  632: No first char
  633: No need char
  634: 
  635: /[\x{100}]/8DZ
  636: ------------------------------------------------------------------
  637:         Bra
  638:         [\x{100}]
  639:         Ket
  640:         End
  641: ------------------------------------------------------------------
  642: Capturing subpattern count = 0
  643: Options: utf8
  644: No first char
  645: No need char
  646:     \x{100}
  647:  0: \x{100}
  648:     Z\x{100}
  649:  0: \x{100}
  650:     \x{100}Z
  651:  0: \x{100}
  652:     *** Failers 
  653: No match
  654: 
  655: /[Z\x{100}]/8DZ
  656: ------------------------------------------------------------------
  657:         Bra
  658:         [Z\x{100}]
  659:         Ket
  660:         End
  661: ------------------------------------------------------------------
  662: Capturing subpattern count = 0
  663: Options: utf8
  664: No first char
  665: No need char
  666:     Z\x{100}
  667:  0: Z
  668:     \x{100}
  669:  0: \x{100}
  670:     \x{100}Z
  671:  0: \x{100}
  672:     *** Failers 
  673: No match
  674: 
  675: /[\x{200}-\x{100}]/8
  676: Failed: range out of order in character class at offset 15
  677: 
  678: /[Ā-Ą]/8
  679:     \x{100}
  680:  0: \x{100}
  681:     \x{104}
  682:  0: \x{104}
  683:     *** Failers
  684: No match
  685:     \x{105}
  686: No match
  687:     \x{ff}    
  688: No match
  689: 
  690: /[z-\x{100}]/8DZ
  691: ------------------------------------------------------------------
  692:         Bra
  693:         [z-\x{100}]
  694:         Ket
  695:         End
  696: ------------------------------------------------------------------
  697: Capturing subpattern count = 0
  698: Options: utf8
  699: No first char
  700: No need char
  701: 
  702: /[z\Qa-d]Ā\E]/8DZ
  703: ------------------------------------------------------------------
  704:         Bra
  705:         [\-\]adz\x{100}]
  706:         Ket
  707:         End
  708: ------------------------------------------------------------------
  709: Capturing subpattern count = 0
  710: Options: utf8
  711: No first char
  712: No need char
  713:     \x{100}
  714:  0: \x{100}
  715:     Ā 
  716:  0: \x{100}
  717: 
  718: /[\xFF]/DZ
  719: ------------------------------------------------------------------
  720:         Bra
  721:         \xff
  722:         Ket
  723:         End
  724: ------------------------------------------------------------------
  725: Capturing subpattern count = 0
  726: No options
  727: First char = 255
  728: No need char
  729:     >\xff<
  730:  0: \xff
  731: 
  732: /[\xff]/DZ8
  733: ------------------------------------------------------------------
  734:         Bra
  735:         \x{ff}
  736:         Ket
  737:         End
  738: ------------------------------------------------------------------
  739: Capturing subpattern count = 0
  740: Options: utf8
  741: First char = 195
  742: Need char = 191
  743:     >\x{ff}<
  744:  0: \x{ff}
  745: 
  746: /[^\xFF]/DZ
  747: ------------------------------------------------------------------
  748:         Bra
  749:         [^\xff]
  750:         Ket
  751:         End
  752: ------------------------------------------------------------------
  753: Capturing subpattern count = 0
  754: No options
  755: No first char
  756: No need char
  757: 
  758: /[^\xff]/8DZ
  759: ------------------------------------------------------------------
  760:         Bra
  761:         [\x00-\xfe] (neg)
  762:         Ket
  763:         End
  764: ------------------------------------------------------------------
  765: Capturing subpattern count = 0
  766: Options: utf8
  767: No first char
  768: No need char
  769: 
  770: /[Ä-Ü]/8
  771:     Ö # Matches without Study
  772:  0: \x{d6}
  773:     \x{d6}
  774:  0: \x{d6}
  775:     
  776: /[Ä-Ü]/8S
  777:     Ö <-- Same with Study
  778:  0: \x{d6}
  779:     \x{d6}
  780:  0: \x{d6}
  781:     
  782: /[\x{c4}-\x{dc}]/8 
  783:     Ö # Matches without Study
  784:  0: \x{d6}
  785:     \x{d6} 
  786:  0: \x{d6}
  787: 
  788: /[\x{c4}-\x{dc}]/8S
  789:     Ö <-- Same with Study
  790:  0: \x{d6}
  791:     \x{d6} 
  792:  0: \x{d6}
  793: 
  794: /[]/8
  795: Failed: invalid UTF-8 string at offset 1
  796: 
  797: //8
  798: Failed: invalid UTF-8 string at offset 0
  799: 
  800: /xxx/8
  801: Failed: invalid UTF-8 string at offset 0
  802: 
  803: /xxx/8?DZSS
  804: ------------------------------------------------------------------
  805:         Bra
  806:         \X{c0}\X{c0}\X{c0}xxx
  807:         Ket
  808:         End
  809: ------------------------------------------------------------------
  810: Capturing subpattern count = 0
  811: Options: utf8 no_utf8_check
  812: First char = 195
  813: Need char = 'x'
  814: 
  815: /abc/8
  816:     ]
  817: Error -10 (bad UTF-8 string) offset=0 reason=6
  818:     
  819: Error -10 (bad UTF-8 string) offset=0 reason=1
  820:     
  821: Error -10 (bad UTF-8 string) offset=0 reason=6
  822:     \?
  823: No match
  824:     \xe1\x88 
  825: Error -10 (bad UTF-8 string) offset=0 reason=1
  826:     \P\xe1\x88 
  827: Error -10 (bad UTF-8 string) offset=0 reason=1
  828:     \P\P\xe1\x88 
  829: Error -25 (short UTF-8 string) offset=0 reason=1
  830:     XX\xea
  831: Error -10 (bad UTF-8 string) offset=2 reason=2
  832:     \O0XX\xea
  833: Error -10 (bad UTF-8 string)
  834:     \O1XX\xea
  835: Error -10 (bad UTF-8 string)
  836:     \O2XX\xea
  837: Error -10 (bad UTF-8 string) offset=2 reason=2
  838:     XX\xf1
  839: Error -10 (bad UTF-8 string) offset=2 reason=3
  840:     XX\xf8  
  841: Error -10 (bad UTF-8 string) offset=2 reason=4
  842:     XX\xfc
  843: Error -10 (bad UTF-8 string) offset=2 reason=5
  844:     ZZ\xea\xaf\x20YY
  845: Error -10 (bad UTF-8 string) offset=2 reason=7
  846:     ZZ\xfd\xbf\xbf\x2f\xbf\xbfYY  
  847: Error -10 (bad UTF-8 string) offset=2 reason=8
  848:     ZZ\xfd\xbf\xbf\xbf\x2f\xbfYY  
  849: Error -10 (bad UTF-8 string) offset=2 reason=9
  850:     ZZ\xfd\xbf\xbf\xbf\xbf\x2fYY  
  851: Error -10 (bad UTF-8 string) offset=2 reason=10
  852:     ZZ\xffYY
  853: Error -10 (bad UTF-8 string) offset=2 reason=21
  854:     ZZ\xfeYY  
  855: Error -10 (bad UTF-8 string) offset=2 reason=21
  856: 
  857: /anything/8
  858:     \xc0\x80
  859: Error -10 (bad UTF-8 string) offset=0 reason=15
  860:     \xc1\x8f 
  861: Error -10 (bad UTF-8 string) offset=0 reason=15
  862:     \xe0\x9f\x80
  863: Error -10 (bad UTF-8 string) offset=0 reason=16
  864:     \xf0\x8f\x80\x80 
  865: Error -10 (bad UTF-8 string) offset=0 reason=17
  866:     \xf8\x87\x80\x80\x80  
  867: Error -10 (bad UTF-8 string) offset=0 reason=18
  868:     \xfc\x83\x80\x80\x80\x80
  869: Error -10 (bad UTF-8 string) offset=0 reason=19
  870:     \xfe\x80\x80\x80\x80\x80  
  871: Error -10 (bad UTF-8 string) offset=0 reason=21
  872:     \xff\x80\x80\x80\x80\x80  
  873: Error -10 (bad UTF-8 string) offset=0 reason=21
  874:     \xc3\x8f
  875: No match
  876:     \xe0\xaf\x80
  877: No match
  878:     \xe1\x80\x80
  879: No match
  880:     \xf0\x9f\x80\x80 
  881: No match
  882:     \xf1\x8f\x80\x80 
  883: No match
  884:     \xf8\x88\x80\x80\x80  
  885: Error -10 (bad UTF-8 string) offset=0 reason=11
  886:     \xf9\x87\x80\x80\x80  
  887: Error -10 (bad UTF-8 string) offset=0 reason=11
  888:     \xfc\x84\x80\x80\x80\x80
  889: Error -10 (bad UTF-8 string) offset=0 reason=12
  890:     \xfd\x83\x80\x80\x80\x80
  891: Error -10 (bad UTF-8 string) offset=0 reason=12
  892:     \?\xf8\x88\x80\x80\x80  
  893: No match
  894:     \?\xf9\x87\x80\x80\x80  
  895: No match
  896:     \?\xfc\x84\x80\x80\x80\x80
  897: No match
  898:     \?\xfd\x83\x80\x80\x80\x80
  899: No match
  900: 
  901: /\x{100}abc(xyz(?1))/8DZ
  902: ------------------------------------------------------------------
  903:         Bra
  904:         \x{100}abc
  905:         CBra 1
  906:         xyz
  907:         Recurse
  908:         Ket
  909:         Ket
  910:         End
  911: ------------------------------------------------------------------
  912: Capturing subpattern count = 1
  913: Options: utf8
  914: First char = 196
  915: Need char = 'z'
  916: 
  917: /[^\x{100}]abc(xyz(?1))/8DZ
  918: ------------------------------------------------------------------
  919:         Bra
  920:         [^\x{100}]
  921:         abc
  922:         CBra 1
  923:         xyz
  924:         Recurse
  925:         Ket
  926:         Ket
  927:         End
  928: ------------------------------------------------------------------
  929: Capturing subpattern count = 1
  930: Options: utf8
  931: No first char
  932: Need char = 'z'
  933: 
  934: /[ab\x{100}]abc(xyz(?1))/8DZ
  935: ------------------------------------------------------------------
  936:         Bra
  937:         [ab\x{100}]
  938:         abc
  939:         CBra 1
  940:         xyz
  941:         Recurse
  942:         Ket
  943:         Ket
  944:         End
  945: ------------------------------------------------------------------
  946: Capturing subpattern count = 1
  947: Options: utf8
  948: No first char
  949: Need char = 'z'
  950: 
  951: /(\x{100}(b(?2)c))?/DZ8
  952: ------------------------------------------------------------------
  953:         Bra
  954:         Brazero
  955:         CBra 1
  956:         \x{100}
  957:         CBra 2
  958:         b
  959:         Recurse
  960:         c
  961:         Ket
  962:         Ket
  963:         Ket
  964:         End
  965: ------------------------------------------------------------------
  966: Capturing subpattern count = 2
  967: Options: utf8
  968: No first char
  969: No need char
  970: 
  971: /(\x{100}(b(?2)c)){0,2}/DZ8
  972: ------------------------------------------------------------------
  973:         Bra
  974:         Brazero
  975:         Bra
  976:         CBra 1
  977:         \x{100}
  978:         CBra 2
  979:         b
  980:         Recurse
  981:         c
  982:         Ket
  983:         Ket
  984:         Brazero
  985:         CBra 1
  986:         \x{100}
  987:         CBra 2
  988:         b
  989:         Recurse
  990:         c
  991:         Ket
  992:         Ket
  993:         Ket
  994:         Ket
  995:         End
  996: ------------------------------------------------------------------
  997: Capturing subpattern count = 2
  998: Options: utf8
  999: No first char
 1000: No need char
 1001: 
 1002: /(\x{100}(b(?1)c))?/DZ8
 1003: ------------------------------------------------------------------
 1004:         Bra
 1005:         Brazero
 1006:         CBra 1
 1007:         \x{100}
 1008:         CBra 2
 1009:         b
 1010:         Recurse
 1011:         c
 1012:         Ket
 1013:         Ket
 1014:         Ket
 1015:         End
 1016: ------------------------------------------------------------------
 1017: Capturing subpattern count = 2
 1018: Options: utf8
 1019: No first char
 1020: No need char
 1021: 
 1022: /(\x{100}(b(?1)c)){0,2}/DZ8
 1023: ------------------------------------------------------------------
 1024:         Bra
 1025:         Brazero
 1026:         Bra
 1027:         CBra 1
 1028:         \x{100}
 1029:         CBra 2
 1030:         b
 1031:         Recurse
 1032:         c
 1033:         Ket
 1034:         Ket
 1035:         Brazero
 1036:         CBra 1
 1037:         \x{100}
 1038:         CBra 2
 1039:         b
 1040:         Recurse
 1041:         c
 1042:         Ket
 1043:         Ket
 1044:         Ket
 1045:         Ket
 1046:         End
 1047: ------------------------------------------------------------------
 1048: Capturing subpattern count = 2
 1049: Options: utf8
 1050: No first char
 1051: No need char
 1052: 
 1053: /\W/8
 1054:     A.B
 1055:  0: .
 1056:     A\x{100}B 
 1057:  0: \x{100}
 1058:   
 1059: /\w/8
 1060:     \x{100}X   
 1061:  0: X
 1062: 
 1063: /a\x{1234}b/P8
 1064:     a\x{1234}b
 1065:  0: a\x{1234}b
 1066: 
 1067: /^\ሴ/8DZ
 1068: ------------------------------------------------------------------
 1069:         Bra
 1070:         ^
 1071:         \x{1234}
 1072:         Ket
 1073:         End
 1074: ------------------------------------------------------------------
 1075: Capturing subpattern count = 0
 1076: Options: anchored utf8
 1077: No first char
 1078: No need char
 1079: 
 1080: /\777/I
 1081: Failed: octal value is greater than \377 (not in UTF-8 mode) at offset 3
 1082: 
 1083: /\777/8I
 1084: Capturing subpattern count = 0
 1085: Options: utf8
 1086: First char = 199
 1087: Need char = 191
 1088:   \x{1ff}
 1089:  0: \x{1ff}
 1090:   \777 
 1091:  0: \x{1ff}
 1092:   
 1093: /\x{100}*\d/8DZ
 1094: ------------------------------------------------------------------
 1095:         Bra
 1096:         \x{100}*+
 1097:         \d
 1098:         Ket
 1099:         End
 1100: ------------------------------------------------------------------
 1101: Capturing subpattern count = 0
 1102: Options: utf8
 1103: No first char
 1104: No need char
 1105: 
 1106: /\x{100}*\s/8DZ
 1107: ------------------------------------------------------------------
 1108:         Bra
 1109:         \x{100}*+
 1110:         \s
 1111:         Ket
 1112:         End
 1113: ------------------------------------------------------------------
 1114: Capturing subpattern count = 0
 1115: Options: utf8
 1116: No first char
 1117: No need char
 1118: 
 1119: /\x{100}*\w/8DZ
 1120: ------------------------------------------------------------------
 1121:         Bra
 1122:         \x{100}*+
 1123:         \w
 1124:         Ket
 1125:         End
 1126: ------------------------------------------------------------------
 1127: Capturing subpattern count = 0
 1128: Options: utf8
 1129: No first char
 1130: No need char
 1131: 
 1132: /\x{100}*\D/8DZ
 1133: ------------------------------------------------------------------
 1134:         Bra
 1135:         \x{100}*
 1136:         \D
 1137:         Ket
 1138:         End
 1139: ------------------------------------------------------------------
 1140: Capturing subpattern count = 0
 1141: Options: utf8
 1142: No first char
 1143: No need char
 1144: 
 1145: /\x{100}*\S/8DZ
 1146: ------------------------------------------------------------------
 1147:         Bra
 1148:         \x{100}*
 1149:         \S
 1150:         Ket
 1151:         End
 1152: ------------------------------------------------------------------
 1153: Capturing subpattern count = 0
 1154: Options: utf8
 1155: No first char
 1156: No need char
 1157: 
 1158: /\x{100}*\W/8DZ
 1159: ------------------------------------------------------------------
 1160:         Bra
 1161:         \x{100}*
 1162:         \W
 1163:         Ket
 1164:         End
 1165: ------------------------------------------------------------------
 1166: Capturing subpattern count = 0
 1167: Options: utf8
 1168: No first char
 1169: No need char
 1170: 
 1171: /\x{100}+\x{200}/8DZ
 1172: ------------------------------------------------------------------
 1173:         Bra
 1174:         \x{100}++
 1175:         \x{200}
 1176:         Ket
 1177:         End
 1178: ------------------------------------------------------------------
 1179: Capturing subpattern count = 0
 1180: Options: utf8
 1181: First char = 196
 1182: Need char = 128
 1183: 
 1184: /\x{100}+X/8DZ
 1185: ------------------------------------------------------------------
 1186:         Bra
 1187:         \x{100}++
 1188:         X
 1189:         Ket
 1190:         End
 1191: ------------------------------------------------------------------
 1192: Capturing subpattern count = 0
 1193: Options: utf8
 1194: First char = 196
 1195: Need char = 'X'
 1196: 
 1197: /X+\x{200}/8DZ
 1198: ------------------------------------------------------------------
 1199:         Bra
 1200:         X++
 1201:         \x{200}
 1202:         Ket
 1203:         End
 1204: ------------------------------------------------------------------
 1205: Capturing subpattern count = 0
 1206: Options: utf8
 1207: First char = 'X'
 1208: Need char = 128
 1209: 
 1210: /()()()()()()()()()()
 1211:  ()()()()()()()()()()
 1212:  ()()()()()()()()()()
 1213:  ()()()()()()()()()()
 1214:  A (x) (?41) B/8x
 1215:     AxxB     
 1216: Matched, but too many substrings
 1217:  0: AxxB
 1218:  1: 
 1219:  2: 
 1220:  3: 
 1221:  4: 
 1222:  5: 
 1223:  6: 
 1224:  7: 
 1225:  8: 
 1226:  9: 
 1227: 10: 
 1228: 11: 
 1229: 12: 
 1230: 13: 
 1231: 14: 
 1232: 
 1233: /^[\x{100}\E-\Q\E\x{150}]/BZ8
 1234: ------------------------------------------------------------------
 1235:         Bra
 1236:         ^
 1237:         [\x{100}-\x{150}]
 1238:         Ket
 1239:         End
 1240: ------------------------------------------------------------------
 1241: 
 1242: /^[\QĀ\E-\QŐ\E]/BZ8
 1243: ------------------------------------------------------------------
 1244:         Bra
 1245:         ^
 1246:         [\x{100}-\x{150}]
 1247:         Ket
 1248:         End
 1249: ------------------------------------------------------------------
 1250: 
 1251: /^[\QĀ\E-\QŐ\E/BZ8
 1252: Failed: missing terminating ] for character class at offset 15
 1253: 
 1254: /^abc./mgx8<any>
 1255:     abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x{0085}abc7 \x{2028}abc8 \x{2029}abc9 JUNK
 1256:  0: abc1
 1257:  0: abc2
 1258:  0: abc3
 1259:  0: abc4
 1260:  0: abc5
 1261:  0: abc6
 1262:  0: abc7
 1263:  0: abc8
 1264:  0: abc9
 1265: 
 1266: /abc.$/mgx8<any>
 1267:     abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x{0085} abc7\x{2028} abc8\x{2029} abc9
 1268:  0: abc1
 1269:  0: abc2
 1270:  0: abc3
 1271:  0: abc4
 1272:  0: abc5
 1273:  0: abc6
 1274:  0: abc7
 1275:  0: abc8
 1276:  0: abc9
 1277: 
 1278: /^a\Rb/8<bsr_unicode>
 1279:     a\nb
 1280:  0: a\x{0a}b
 1281:     a\rb
 1282:  0: a\x{0d}b
 1283:     a\r\nb
 1284:  0: a\x{0d}\x{0a}b
 1285:     a\x0bb
 1286:  0: a\x{0b}b
 1287:     a\x0cb
 1288:  0: a\x{0c}b
 1289:     a\x{85}b   
 1290:  0: a\x{85}b
 1291:     a\x{2028}b 
 1292:  0: a\x{2028}b
 1293:     a\x{2029}b 
 1294:  0: a\x{2029}b
 1295:     ** Failers
 1296: No match
 1297:     a\n\rb    
 1298: No match
 1299: 
 1300: /^a\R*b/8<bsr_unicode>
 1301:     ab
 1302:  0: ab
 1303:     a\nb
 1304:  0: a\x{0a}b
 1305:     a\rb
 1306:  0: a\x{0d}b
 1307:     a\r\nb
 1308:  0: a\x{0d}\x{0a}b
 1309:     a\x0bb
 1310:  0: a\x{0b}b
 1311:     a\x0c\x{2028}\x{2029}b
 1312:  0: a\x{0c}\x{2028}\x{2029}b
 1313:     a\x{85}b   
 1314:  0: a\x{85}b
 1315:     a\n\rb    
 1316:  0: a\x{0a}\x{0d}b
 1317:     a\n\r\x{85}\x0cb 
 1318:  0: a\x{0a}\x{0d}\x{85}\x{0c}b
 1319: 
 1320: /^a\R+b/8<bsr_unicode>
 1321:     a\nb
 1322:  0: a\x{0a}b
 1323:     a\rb
 1324:  0: a\x{0d}b
 1325:     a\r\nb
 1326:  0: a\x{0d}\x{0a}b
 1327:     a\x0bb
 1328:  0: a\x{0b}b
 1329:     a\x0c\x{2028}\x{2029}b
 1330:  0: a\x{0c}\x{2028}\x{2029}b
 1331:     a\x{85}b   
 1332:  0: a\x{85}b
 1333:     a\n\rb    
 1334:  0: a\x{0a}\x{0d}b
 1335:     a\n\r\x{85}\x0cb 
 1336:  0: a\x{0a}\x{0d}\x{85}\x{0c}b
 1337:     ** Failers
 1338: No match
 1339:     ab  
 1340: No match
 1341: 
 1342: /^a\R{1,3}b/8<bsr_unicode>
 1343:     a\nb
 1344:  0: a\x{0a}b
 1345:     a\n\rb
 1346:  0: a\x{0a}\x{0d}b
 1347:     a\n\r\x{85}b
 1348:  0: a\x{0a}\x{0d}\x{85}b
 1349:     a\r\n\r\nb 
 1350:  0: a\x{0d}\x{0a}\x{0d}\x{0a}b
 1351:     a\r\n\r\n\r\nb 
 1352:  0: a\x{0d}\x{0a}\x{0d}\x{0a}\x{0d}\x{0a}b
 1353:     a\n\r\n\rb
 1354:  0: a\x{0a}\x{0d}\x{0a}\x{0d}b
 1355:     a\n\n\r\nb 
 1356:  0: a\x{0a}\x{0a}\x{0d}\x{0a}b
 1357:     ** Failers
 1358: No match
 1359:     a\n\n\n\rb
 1360: No match
 1361:     a\r
 1362: No match
 1363: 
 1364: /\H\h\V\v/8
 1365:     X X\x0a
 1366:  0: X X\x{0a}
 1367:     X\x09X\x0b
 1368:  0: X\x{09}X\x{0b}
 1369:     ** Failers
 1370: No match
 1371:     \x{a0} X\x0a   
 1372: No match
 1373:     
 1374: /\H*\h+\V?\v{3,4}/8 
 1375:     \x09\x20\x{a0}X\x0a\x0b\x0c\x0d\x0a
 1376:  0: \x{09} \x{a0}X\x{0a}\x{0b}\x{0c}\x{0d}
 1377:     \x09\x20\x{a0}\x0a\x0b\x0c\x0d\x0a
 1378:  0: \x{09} \x{a0}\x{0a}\x{0b}\x{0c}\x{0d}
 1379:     \x09\x20\x{a0}\x0a\x0b\x0c
 1380:  0: \x{09} \x{a0}\x{0a}\x{0b}\x{0c}
 1381:     ** Failers 
 1382: No match
 1383:     \x09\x20\x{a0}\x0a\x0b
 1384: No match
 1385:      
 1386: /\H\h\V\v/8
 1387:     \x{3001}\x{3000}\x{2030}\x{2028}
 1388:  0: \x{3001}\x{3000}\x{2030}\x{2028}
 1389:     X\x{180e}X\x{85}
 1390:  0: X\x{180e}X\x{85}
 1391:     ** Failers
 1392: No match
 1393:     \x{2009} X\x0a   
 1394: No match
 1395:     
 1396: /\H*\h+\V?\v{3,4}/8 
 1397:     \x{1680}\x{180e}\x{2007}X\x{2028}\x{2029}\x0c\x0d\x0a
 1398:  0: \x{1680}\x{180e}\x{2007}X\x{2028}\x{2029}\x{0c}\x{0d}
 1399:     \x09\x{205f}\x{a0}\x0a\x{2029}\x0c\x{2028}\x0a
 1400:  0: \x{09}\x{205f}\x{a0}\x{0a}\x{2029}\x{0c}\x{2028}
 1401:     \x09\x20\x{202f}\x0a\x0b\x0c
 1402:  0: \x{09} \x{202f}\x{0a}\x{0b}\x{0c}
 1403:     ** Failers 
 1404: No match
 1405:     \x09\x{200a}\x{a0}\x{2028}\x0b
 1406: No match
 1407:      
 1408: /[\h]/8BZ
 1409: ------------------------------------------------------------------
 1410:         Bra
 1411:         [\x09 \xa0\x{1680}\x{180e}\x{2000}-\x{200a}\x{202f}\x{205f}\x{3000}]
 1412:         Ket
 1413:         End
 1414: ------------------------------------------------------------------
 1415:     >\x{1680}
 1416:  0: \x{1680}
 1417: 
 1418: /[\h]{3,}/8BZ
 1419: ------------------------------------------------------------------
 1420:         Bra
 1421:         [\x09 \xa0\x{1680}\x{180e}\x{2000}-\x{200a}\x{202f}\x{205f}\x{3000}]{3,}
 1422:         Ket
 1423:         End
 1424: ------------------------------------------------------------------
 1425:     >\x{1680}\x{180e}\x{2000}\x{2003}\x{200a}\x{202f}\x{205f}\x{3000}<
 1426:  0: \x{1680}\x{180e}\x{2000}\x{2003}\x{200a}\x{202f}\x{205f}\x{3000}
 1427: 
 1428: /[\v]/8BZ
 1429: ------------------------------------------------------------------
 1430:         Bra
 1431:         [\x0a-\x0d\x85\x{2028}-\x{2029}]
 1432:         Ket
 1433:         End
 1434: ------------------------------------------------------------------
 1435: 
 1436: /[\H]/8BZ
 1437: ------------------------------------------------------------------
 1438:         Bra
 1439:         [\x00-\x08\x0a-\x1f!-\x9f\xa1-\xff\x{100}-\x{167f}\x{1681}-\x{180d}\x{180f}-\x{1fff}\x{200b}-\x{202e}\x{2030}-\x{205e}\x{2060}-\x{2fff}\x{3001}-\x{7fffffff}]
 1440:         Ket
 1441:         End
 1442: ------------------------------------------------------------------
 1443: 
 1444: /[\V]/8BZ
 1445: ------------------------------------------------------------------
 1446:         Bra
 1447:         [\x00-\x09\x0e-\x84\x86-\xff\x{100}-\x{2027}\x{2029}-\x{7fffffff}]
 1448:         Ket
 1449:         End
 1450: ------------------------------------------------------------------
 1451: 
 1452: /.*$/8<any>
 1453:     \x{1ec5} 
 1454:  0: \x{1ec5}
 1455:     
 1456: /-- This tests the stricter UTF-8 check according to RFC 3629. --/ 
 1457:     
 1458: /X/8
 1459:     \x{0}\x{d7ff}\x{e000}\x{10ffff}
 1460: No match
 1461:     \x{d800}
 1462: Error -10 (bad UTF-8 string) offset=0 reason=14
 1463:     \x{d800}\?
 1464: No match
 1465:     \x{da00}
 1466: Error -10 (bad UTF-8 string) offset=0 reason=14
 1467:     \x{da00}\?
 1468: No match
 1469:     \x{dfff}
 1470: Error -10 (bad UTF-8 string) offset=0 reason=14
 1471:     \x{dfff}\?
 1472: No match
 1473:     \x{110000}    
 1474: Error -10 (bad UTF-8 string) offset=0 reason=13
 1475:     \x{110000}\?    
 1476: No match
 1477:     \x{2000000} 
 1478: Error -10 (bad UTF-8 string) offset=0 reason=11
 1479:     \x{2000000}\? 
 1480: No match
 1481:     \x{7fffffff} 
 1482: Error -10 (bad UTF-8 string) offset=0 reason=12
 1483:     \x{7fffffff}\? 
 1484: No match
 1485: 
 1486: /a\Rb/I8<bsr_anycrlf>
 1487: Capturing subpattern count = 0
 1488: Options: bsr_anycrlf utf8
 1489: First char = 'a'
 1490: Need char = 'b'
 1491:     a\rb
 1492:  0: a\x{0d}b
 1493:     a\nb
 1494:  0: a\x{0a}b
 1495:     a\r\nb
 1496:  0: a\x{0d}\x{0a}b
 1497:     ** Failers
 1498: No match
 1499:     a\x{85}b
 1500: No match
 1501:     a\x0bb     
 1502: No match
 1503: 
 1504: /a\Rb/I8<bsr_unicode>
 1505: Capturing subpattern count = 0
 1506: Options: bsr_unicode utf8
 1507: First char = 'a'
 1508: Need char = 'b'
 1509:     a\rb
 1510:  0: a\x{0d}b
 1511:     a\nb
 1512:  0: a\x{0a}b
 1513:     a\r\nb
 1514:  0: a\x{0d}\x{0a}b
 1515:     a\x{85}b
 1516:  0: a\x{85}b
 1517:     a\x0bb     
 1518:  0: a\x{0b}b
 1519:     ** Failers 
 1520: No match
 1521:     a\x{85}b\<bsr_anycrlf>
 1522: No match
 1523:     a\x0bb\<bsr_anycrlf>
 1524: No match
 1525:     
 1526: /a\R?b/I8<bsr_anycrlf>
 1527: Capturing subpattern count = 0
 1528: Options: bsr_anycrlf utf8
 1529: First char = 'a'
 1530: Need char = 'b'
 1531:     a\rb
 1532:  0: a\x{0d}b
 1533:     a\nb
 1534:  0: a\x{0a}b
 1535:     a\r\nb
 1536:  0: a\x{0d}\x{0a}b
 1537:     ** Failers
 1538: No match
 1539:     a\x{85}b
 1540: No match
 1541:     a\x0bb     
 1542: No match
 1543: 
 1544: /a\R?b/I8<bsr_unicode>
 1545: Capturing subpattern count = 0
 1546: Options: bsr_unicode utf8
 1547: First char = 'a'
 1548: Need char = 'b'
 1549:     a\rb
 1550:  0: a\x{0d}b
 1551:     a\nb
 1552:  0: a\x{0a}b
 1553:     a\r\nb
 1554:  0: a\x{0d}\x{0a}b
 1555:     a\x{85}b
 1556:  0: a\x{85}b
 1557:     a\x0bb     
 1558:  0: a\x{0b}b
 1559:     ** Failers 
 1560: No match
 1561:     a\x{85}b\<bsr_anycrlf>
 1562: No match
 1563:     a\x0bb\<bsr_anycrlf>
 1564: No match
 1565:  
 1566: /.*a.*=.b.*/8<ANY>
 1567:     QQQ\x{2029}ABCaXYZ=!bPQR
 1568:  0: ABCaXYZ=!bPQR
 1569:     ** Failers
 1570: No match
 1571:     a\x{2029}b
 1572: No match
 1573:     \x61\xe2\x80\xa9\x62 
 1574: No match
 1575: 
 1576: /[[:a\x{100}b:]]/8
 1577: Failed: unknown POSIX class name at offset 3
 1578: 
 1579: /a[^]b/<JS>8
 1580:     a\x{1234}b
 1581:  0: a\x{1234}b
 1582:     a\nb 
 1583:  0: a\x{0a}b
 1584:     ** Failers
 1585: No match
 1586:     ab  
 1587: No match
 1588:     
 1589: /a[^]+b/<JS>8
 1590:     aXb
 1591:  0: aXb
 1592:     a\nX\nX\x{1234}b 
 1593:  0: a\x{0a}X\x{0a}X\x{1234}b
 1594:     ** Failers
 1595: No match
 1596:     ab  
 1597: No match
 1598: 
 1599: /(\x{de})\1/
 1600:     \x{de}\x{de}
 1601:  0: \xde\xde
 1602:  1: \xde
 1603:     \x{123} 
 1604: ** Character \x{123} is greater than 255 and UTF-8 mode is not enabled.
 1605: ** Truncation will probably give the wrong result.
 1606: No match
 1607: 
 1608: /X/8f<any> 
 1609:     A\x{1ec5}ABCXYZ
 1610:  0: X
 1611: 
 1612: /(*UTF8)\x{1234}/
 1613:   abcd\x{1234}pqr
 1614:  0: \x{1234}
 1615: 
 1616: /(*CRLF)(*UTF8)(*BSR_UNICODE)a\Rb/I
 1617: Capturing subpattern count = 0
 1618: Options: bsr_unicode utf8
 1619: Forced newline sequence: CRLF
 1620: First char = 'a'
 1621: Need char = 'b'
 1622: 
 1623: /Xa{2,4}b/8
 1624:     X\P
 1625: Partial match: X
 1626:     Xa\P
 1627: Partial match: Xa
 1628:     Xaa\P 
 1629: Partial match: Xaa
 1630:     Xaaa\P
 1631: Partial match: Xaaa
 1632:     Xaaaa\P 
 1633: Partial match: Xaaaa
 1634:     
 1635: /Xa{2,4}?b/8
 1636:     X\P
 1637: Partial match: X
 1638:     Xa\P
 1639: Partial match: Xa
 1640:     Xaa\P 
 1641: Partial match: Xaa
 1642:     Xaaa\P
 1643: Partial match: Xaaa
 1644:     Xaaaa\P 
 1645: Partial match: Xaaaa
 1646:     
 1647: /Xa{2,4}+b/8
 1648:     X\P
 1649: Partial match: X
 1650:     Xa\P
 1651: Partial match: Xa
 1652:     Xaa\P 
 1653: Partial match: Xaa
 1654:     Xaaa\P
 1655: Partial match: Xaaa
 1656:     Xaaaa\P 
 1657: Partial match: Xaaaa
 1658:     
 1659: /X\x{123}{2,4}b/8
 1660:     X\P
 1661: Partial match: X
 1662:     X\x{123}\P
 1663: Partial match: X\x{123}
 1664:     X\x{123}\x{123}\P 
 1665: Partial match: X\x{123}\x{123}
 1666:     X\x{123}\x{123}\x{123}\P
 1667: Partial match: X\x{123}\x{123}\x{123}
 1668:     X\x{123}\x{123}\x{123}\x{123}\P 
 1669: Partial match: X\x{123}\x{123}\x{123}\x{123}
 1670:     
 1671: /X\x{123}{2,4}?b/8
 1672:     X\P
 1673: Partial match: X
 1674:     X\x{123}\P
 1675: Partial match: X\x{123}
 1676:     X\x{123}\x{123}\P 
 1677: Partial match: X\x{123}\x{123}
 1678:     X\x{123}\x{123}\x{123}\P
 1679: Partial match: X\x{123}\x{123}\x{123}
 1680:     X\x{123}\x{123}\x{123}\x{123}\P 
 1681: Partial match: X\x{123}\x{123}\x{123}\x{123}
 1682:     
 1683: /X\x{123}{2,4}+b/8
 1684:     X\P
 1685: Partial match: X
 1686:     X\x{123}\P
 1687: Partial match: X\x{123}
 1688:     X\x{123}\x{123}\P 
 1689: Partial match: X\x{123}\x{123}
 1690:     X\x{123}\x{123}\x{123}\P
 1691: Partial match: X\x{123}\x{123}\x{123}
 1692:     X\x{123}\x{123}\x{123}\x{123}\P 
 1693: Partial match: X\x{123}\x{123}\x{123}\x{123}
 1694:     
 1695: /X\x{123}{2,4}b/8
 1696:     Xx\P
 1697: No match
 1698:     X\x{123}x\P
 1699: No match
 1700:     X\x{123}\x{123}x\P 
 1701: No match
 1702:     X\x{123}\x{123}\x{123}x\P
 1703: No match
 1704:     X\x{123}\x{123}\x{123}\x{123}x\P 
 1705: No match
 1706:     
 1707: /X\x{123}{2,4}?b/8
 1708:     Xx\P
 1709: No match
 1710:     X\x{123}x\P
 1711: No match
 1712:     X\x{123}\x{123}x\P 
 1713: No match
 1714:     X\x{123}\x{123}\x{123}x\P
 1715: No match
 1716:     X\x{123}\x{123}\x{123}\x{123}x\P 
 1717: No match
 1718:     
 1719: /X\x{123}{2,4}+b/8
 1720:     Xx\P
 1721: No match
 1722:     X\x{123}x\P
 1723: No match
 1724:     X\x{123}\x{123}x\P 
 1725: No match
 1726:     X\x{123}\x{123}\x{123}x\P
 1727: No match
 1728:     X\x{123}\x{123}\x{123}\x{123}x\P 
 1729: No match
 1730:     
 1731: /X\d{2,4}b/8
 1732:     X\P
 1733: Partial match: X
 1734:     X3\P
 1735: Partial match: X3
 1736:     X33\P 
 1737: Partial match: X33
 1738:     X333\P
 1739: Partial match: X333
 1740:     X3333\P 
 1741: Partial match: X3333
 1742:     
 1743: /X\d{2,4}?b/8
 1744:     X\P
 1745: Partial match: X
 1746:     X3\P
 1747: Partial match: X3
 1748:     X33\P 
 1749: Partial match: X33
 1750:     X333\P
 1751: Partial match: X333
 1752:     X3333\P 
 1753: Partial match: X3333
 1754:     
 1755: /X\d{2,4}+b/8
 1756:     X\P
 1757: Partial match: X
 1758:     X3\P
 1759: Partial match: X3
 1760:     X33\P 
 1761: Partial match: X33
 1762:     X333\P
 1763: Partial match: X333
 1764:     X3333\P 
 1765: Partial match: X3333
 1766: 
 1767: /X\D{2,4}b/8
 1768:     X\P
 1769: Partial match: X
 1770:     Xa\P
 1771: Partial match: Xa
 1772:     Xaa\P 
 1773: Partial match: Xaa
 1774:     Xaaa\P
 1775: Partial match: Xaaa
 1776:     Xaaaa\P 
 1777: Partial match: Xaaaa
 1778:     
 1779: /X\D{2,4}?b/8
 1780:     X\P
 1781: Partial match: X
 1782:     Xa\P
 1783: Partial match: Xa
 1784:     Xaa\P 
 1785: Partial match: Xaa
 1786:     Xaaa\P
 1787: Partial match: Xaaa
 1788:     Xaaaa\P 
 1789: Partial match: Xaaaa
 1790:     
 1791: /X\D{2,4}+b/8
 1792:     X\P
 1793: Partial match: X
 1794:     Xa\P
 1795: Partial match: Xa
 1796:     Xaa\P 
 1797: Partial match: Xaa
 1798:     Xaaa\P
 1799: Partial match: Xaaa
 1800:     Xaaaa\P 
 1801: Partial match: Xaaaa
 1802: 
 1803: /X\D{2,4}b/8
 1804:     X\P
 1805: Partial match: X
 1806:     X\x{123}\P
 1807: Partial match: X\x{123}
 1808:     X\x{123}\x{123}\P 
 1809: Partial match: X\x{123}\x{123}
 1810:     X\x{123}\x{123}\x{123}\P
 1811: Partial match: X\x{123}\x{123}\x{123}
 1812:     X\x{123}\x{123}\x{123}\x{123}\P 
 1813: Partial match: X\x{123}\x{123}\x{123}\x{123}
 1814:     
 1815: /X\D{2,4}?b/8
 1816:     X\P
 1817: Partial match: X
 1818:     X\x{123}\P
 1819: Partial match: X\x{123}
 1820:     X\x{123}\x{123}\P 
 1821: Partial match: X\x{123}\x{123}
 1822:     X\x{123}\x{123}\x{123}\P
 1823: Partial match: X\x{123}\x{123}\x{123}
 1824:     X\x{123}\x{123}\x{123}\x{123}\P 
 1825: Partial match: X\x{123}\x{123}\x{123}\x{123}
 1826:     
 1827: /X\D{2,4}+b/8
 1828:     X\P
 1829: Partial match: X
 1830:     X\x{123}\P
 1831: Partial match: X\x{123}
 1832:     X\x{123}\x{123}\P 
 1833: Partial match: X\x{123}\x{123}
 1834:     X\x{123}\x{123}\x{123}\P
 1835: Partial match: X\x{123}\x{123}\x{123}
 1836:     X\x{123}\x{123}\x{123}\x{123}\P 
 1837: Partial match: X\x{123}\x{123}\x{123}\x{123}
 1838: 
 1839: /X[abc]{2,4}b/8
 1840:     X\P
 1841: Partial match: X
 1842:     Xa\P
 1843: Partial match: Xa
 1844:     Xaa\P 
 1845: Partial match: Xaa
 1846:     Xaaa\P
 1847: Partial match: Xaaa
 1848:     Xaaaa\P 
 1849: Partial match: Xaaaa
 1850:     
 1851: /X[abc]{2,4}?b/8
 1852:     X\P
 1853: Partial match: X
 1854:     Xa\P
 1855: Partial match: Xa
 1856:     Xaa\P 
 1857: Partial match: Xaa
 1858:     Xaaa\P
 1859: Partial match: Xaaa
 1860:     Xaaaa\P 
 1861: Partial match: Xaaaa
 1862:     
 1863: /X[abc]{2,4}+b/8
 1864:     X\P
 1865: Partial match: X
 1866:     Xa\P
 1867: Partial match: Xa
 1868:     Xaa\P 
 1869: Partial match: Xaa
 1870:     Xaaa\P
 1871: Partial match: Xaaa
 1872:     Xaaaa\P 
 1873: Partial match: Xaaaa
 1874: 
 1875: /X[abc\x{123}]{2,4}b/8
 1876:     X\P
 1877: Partial match: X
 1878:     X\x{123}\P
 1879: Partial match: X\x{123}
 1880:     X\x{123}\x{123}\P 
 1881: Partial match: X\x{123}\x{123}
 1882:     X\x{123}\x{123}\x{123}\P
 1883: Partial match: X\x{123}\x{123}\x{123}
 1884:     X\x{123}\x{123}\x{123}\x{123}\P 
 1885: Partial match: X\x{123}\x{123}\x{123}\x{123}
 1886:     
 1887: /X[abc\x{123}]{2,4}?b/8
 1888:     X\P
 1889: Partial match: X
 1890:     X\x{123}\P
 1891: Partial match: X\x{123}
 1892:     X\x{123}\x{123}\P 
 1893: Partial match: X\x{123}\x{123}
 1894:     X\x{123}\x{123}\x{123}\P
 1895: Partial match: X\x{123}\x{123}\x{123}
 1896:     X\x{123}\x{123}\x{123}\x{123}\P 
 1897: Partial match: X\x{123}\x{123}\x{123}\x{123}
 1898:     
 1899: /X[abc\x{123}]{2,4}+b/8
 1900:     X\P
 1901: Partial match: X
 1902:     X\x{123}\P
 1903: Partial match: X\x{123}
 1904:     X\x{123}\x{123}\P 
 1905: Partial match: X\x{123}\x{123}
 1906:     X\x{123}\x{123}\x{123}\P
 1907: Partial match: X\x{123}\x{123}\x{123}
 1908:     X\x{123}\x{123}\x{123}\x{123}\P 
 1909: Partial match: X\x{123}\x{123}\x{123}\x{123}
 1910: 
 1911: /X[^a]{2,4}b/8
 1912:     X\P
 1913: Partial match: X
 1914:     Xz\P
 1915: Partial match: Xz
 1916:     Xzz\P 
 1917: Partial match: Xzz
 1918:     Xzzz\P
 1919: Partial match: Xzzz
 1920:     Xzzzz\P 
 1921: Partial match: Xzzzz
 1922:     
 1923: /X[^a]{2,4}?b/8
 1924:     X\P
 1925: Partial match: X
 1926:     Xz\P
 1927: Partial match: Xz
 1928:     Xzz\P 
 1929: Partial match: Xzz
 1930:     Xzzz\P
 1931: Partial match: Xzzz
 1932:     Xzzzz\P 
 1933: Partial match: Xzzzz
 1934:     
 1935: /X[^a]{2,4}+b/8
 1936:     X\P
 1937: Partial match: X
 1938:     Xz\P
 1939: Partial match: Xz
 1940:     Xzz\P 
 1941: Partial match: Xzz
 1942:     Xzzz\P
 1943: Partial match: Xzzz
 1944:     Xzzzz\P 
 1945: Partial match: Xzzzz
 1946: 
 1947: /X[^a]{2,4}b/8
 1948:     X\P
 1949: Partial match: X
 1950:     X\x{123}\P
 1951: Partial match: X\x{123}
 1952:     X\x{123}\x{123}\P 
 1953: Partial match: X\x{123}\x{123}
 1954:     X\x{123}\x{123}\x{123}\P
 1955: Partial match: X\x{123}\x{123}\x{123}
 1956:     X\x{123}\x{123}\x{123}\x{123}\P 
 1957: Partial match: X\x{123}\x{123}\x{123}\x{123}
 1958:     
 1959: /X[^a]{2,4}?b/8
 1960:     X\P
 1961: Partial match: X
 1962:     X\x{123}\P
 1963: Partial match: X\x{123}
 1964:     X\x{123}\x{123}\P 
 1965: Partial match: X\x{123}\x{123}
 1966:     X\x{123}\x{123}\x{123}\P
 1967: Partial match: X\x{123}\x{123}\x{123}
 1968:     X\x{123}\x{123}\x{123}\x{123}\P 
 1969: Partial match: X\x{123}\x{123}\x{123}\x{123}
 1970:     
 1971: /X[^a]{2,4}+b/8
 1972:     X\P
 1973: Partial match: X
 1974:     X\x{123}\P
 1975: Partial match: X\x{123}
 1976:     X\x{123}\x{123}\P 
 1977: Partial match: X\x{123}\x{123}
 1978:     X\x{123}\x{123}\x{123}\P
 1979: Partial match: X\x{123}\x{123}\x{123}
 1980:     X\x{123}\x{123}\x{123}\x{123}\P 
 1981: Partial match: X\x{123}\x{123}\x{123}\x{123}
 1982: 
 1983: /(Y)X\1{2,4}b/8
 1984:     YX\P
 1985: Partial match: YX
 1986:     YXY\P
 1987: Partial match: YXY
 1988:     YXYY\P 
 1989: Partial match: YXYY
 1990:     YXYYY\P
 1991: Partial match: YXYYY
 1992:     YXYYYY\P 
 1993: Partial match: YXYYYY
 1994:     
 1995: /(Y)X\1{2,4}?b/8
 1996:     YX\P
 1997: Partial match: YX
 1998:     YXY\P
 1999: Partial match: YXY
 2000:     YXYY\P 
 2001: Partial match: YXYY
 2002:     YXYYY\P
 2003: Partial match: YXYYY
 2004:     YXYYYY\P 
 2005: Partial match: YXYYYY
 2006:     
 2007: /(Y)X\1{2,4}+b/8
 2008:     YX\P
 2009: Partial match: YX
 2010:     YXY\P
 2011: Partial match: YXY
 2012:     YXYY\P 
 2013: Partial match: YXYY
 2014:     YXYYY\P
 2015: Partial match: YXYYY
 2016:     YXYYYY\P 
 2017: Partial match: YXYYYY
 2018: 
 2019: /(\x{123})X\1{2,4}b/8
 2020:     \x{123}X\P
 2021: Partial match: \x{123}X
 2022:     \x{123}X\x{123}\P
 2023: Partial match: \x{123}X\x{123}
 2024:     \x{123}X\x{123}\x{123}\P 
 2025: Partial match: \x{123}X\x{123}\x{123}
 2026:     \x{123}X\x{123}\x{123}\x{123}\P
 2027: Partial match: \x{123}X\x{123}\x{123}\x{123}
 2028:     \x{123}X\x{123}\x{123}\x{123}\x{123}\P 
 2029: Partial match: \x{123}X\x{123}\x{123}\x{123}\x{123}
 2030:     
 2031: /(\x{123})X\1{2,4}?b/8
 2032:     \x{123}X\P
 2033: Partial match: \x{123}X
 2034:     \x{123}X\x{123}\P
 2035: Partial match: \x{123}X\x{123}
 2036:     \x{123}X\x{123}\x{123}\P 
 2037: Partial match: \x{123}X\x{123}\x{123}
 2038:     \x{123}X\x{123}\x{123}\x{123}\P
 2039: Partial match: \x{123}X\x{123}\x{123}\x{123}
 2040:     \x{123}X\x{123}\x{123}\x{123}\x{123}\P 
 2041: Partial match: \x{123}X\x{123}\x{123}\x{123}\x{123}
 2042:     
 2043: /(\x{123})X\1{2,4}+b/8
 2044:     \x{123}X\P
 2045: Partial match: \x{123}X
 2046:     \x{123}X\x{123}\P
 2047: Partial match: \x{123}X\x{123}
 2048:     \x{123}X\x{123}\x{123}\P 
 2049: Partial match: \x{123}X\x{123}\x{123}
 2050:     \x{123}X\x{123}\x{123}\x{123}\P
 2051: Partial match: \x{123}X\x{123}\x{123}\x{123}
 2052:     \x{123}X\x{123}\x{123}\x{123}\x{123}\P 
 2053: Partial match: \x{123}X\x{123}\x{123}\x{123}\x{123}
 2054: 
 2055: /\bthe cat\b/8
 2056:     the cat\P
 2057:  0: the cat
 2058:     the cat\P\P
 2059: Partial match: the cat
 2060: 
 2061: /abcd*/8
 2062:     xxxxabcd\P
 2063:  0: abcd
 2064:     xxxxabcd\P\P
 2065: Partial match: abcd
 2066: 
 2067: /abcd*/i8
 2068:     xxxxabcd\P
 2069:  0: abcd
 2070:     xxxxabcd\P\P
 2071: Partial match: abcd
 2072:     XXXXABCD\P
 2073:  0: ABCD
 2074:     XXXXABCD\P\P
 2075: Partial match: ABCD
 2076: 
 2077: /abc\d*/8
 2078:     xxxxabc1\P
 2079:  0: abc1
 2080:     xxxxabc1\P\P
 2081: Partial match: abc1
 2082: 
 2083: /(a)bc\1*/8
 2084:     xxxxabca\P
 2085:  0: abca
 2086:  1: a
 2087:     xxxxabca\P\P
 2088: Partial match: abca
 2089: 
 2090: /abc[de]*/8
 2091:     xxxxabcde\P
 2092:  0: abcde
 2093:     xxxxabcde\P\P
 2094: Partial match: abcde
 2095: 
 2096: /X\W{3}X/8
 2097:     \PX
 2098: Partial match: X
 2099: 
 2100: /\h/SI
 2101: Capturing subpattern count = 0
 2102: No options
 2103: No first char
 2104: No need char
 2105: Subject length lower bound = 1
 2106: Starting byte set: \x09 \x20 \xa0 
 2107: 
 2108: /\h/SI8
 2109: Capturing subpattern count = 0
 2110: Options: utf8
 2111: No first char
 2112: No need char
 2113: Subject length lower bound = 1
 2114: Starting byte set: \x09 \x20 \xc2 \xe1 \xe2 \xe3 
 2115:     ABC\x{09}
 2116:  0: \x{09}
 2117:     ABC\x{20}
 2118:  0:  
 2119:     ABC\x{a0}
 2120:  0: \x{a0}
 2121:     ABC\x{1680}
 2122:  0: \x{1680}
 2123:     ABC\x{180e}
 2124:  0: \x{180e}
 2125:     ABC\x{2000}
 2126:  0: \x{2000}
 2127:     ABC\x{202f} 
 2128:  0: \x{202f}
 2129:     ABC\x{205f} 
 2130:  0: \x{205f}
 2131:     ABC\x{3000} 
 2132:  0: \x{3000}
 2133: 
 2134: /\v/SI
 2135: Capturing subpattern count = 0
 2136: No options
 2137: No first char
 2138: No need char
 2139: Subject length lower bound = 1
 2140: Starting byte set: \x0a \x0b \x0c \x0d \x85 
 2141: 
 2142: /\v/SI8
 2143: Capturing subpattern count = 0
 2144: Options: utf8
 2145: No first char
 2146: No need char
 2147: Subject length lower bound = 1
 2148: Starting byte set: \x0a \x0b \x0c \x0d \xc2 \xe2 
 2149:     ABC\x{0a}
 2150:  0: \x{0a}
 2151:     ABC\x{0b}
 2152:  0: \x{0b}
 2153:     ABC\x{0c}
 2154:  0: \x{0c}
 2155:     ABC\x{0d}
 2156:  0: \x{0d}
 2157:     ABC\x{85}
 2158:  0: \x{85}
 2159:     ABC\x{2028}
 2160:  0: \x{2028}
 2161: 
 2162: /\R/SI
 2163: Capturing subpattern count = 0
 2164: No options
 2165: No first char
 2166: No need char
 2167: Subject length lower bound = 1
 2168: Starting byte set: \x0a \x0b \x0c \x0d \x85 
 2169: 
 2170: /\R/SI8
 2171: Capturing subpattern count = 0
 2172: Options: utf8
 2173: No first char
 2174: No need char
 2175: Subject length lower bound = 1
 2176: Starting byte set: \x0a \x0b \x0c \x0d \xc2 \xe2 
 2177: 
 2178: /\h*A/SI8
 2179: Capturing subpattern count = 0
 2180: Options: utf8
 2181: No first char
 2182: Need char = 'A'
 2183: Subject length lower bound = 1
 2184: Starting byte set: \x09 \x20 A \xc2 \xe1 \xe2 \xe3 
 2185:     CDBABC
 2186:  0: A
 2187:     
 2188: /\v+A/SI8
 2189: Capturing subpattern count = 0
 2190: Options: utf8
 2191: No first char
 2192: Need char = 'A'
 2193: Subject length lower bound = 2
 2194: Starting byte set: \x0a \x0b \x0c \x0d \xc2 \xe2 
 2195: 
 2196: /\s?xxx\s/8SI
 2197: Capturing subpattern count = 0
 2198: Options: utf8
 2199: No first char
 2200: Need char = 'x'
 2201: Subject length lower bound = 4
 2202: Starting byte set: \x09 \x0a \x0c \x0d \x20 x 
 2203: 
 2204: /\sxxx\s/8T1
 2205:     AB\x{85}xxx\x{a0}XYZ
 2206:  0: \x{85}xxx\x{a0}
 2207:     AB\x{a0}xxx\x{85}XYZ
 2208:  0: \x{a0}xxx\x{85}
 2209: 
 2210: /\sxxx\s/I8ST1
 2211: Capturing subpattern count = 0
 2212: Options: utf8
 2213: No first char
 2214: Need char = 'x'
 2215: Subject length lower bound = 5
 2216: Starting byte set: \x09 \x0a \x0c \x0d \x20 \xc2 
 2217:     AB\x{85}xxx\x{a0}XYZ
 2218:  0: \x{85}xxx\x{a0}
 2219:     AB\x{a0}xxx\x{85}XYZ
 2220:  0: \x{a0}xxx\x{85}
 2221: 
 2222: /\S \S/8T1
 2223:     \x{a2} \x{84} 
 2224:  0: \x{a2} \x{84}
 2225: 
 2226: /\S \S/I8ST1
 2227: Capturing subpattern count = 0
 2228: Options: utf8
 2229: No first char
 2230: Need char = ' '
 2231: Subject length lower bound = 3
 2232: Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x0b \x0e 
 2233:   \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 \x1a \x1b \x1c \x1d 
 2234:   \x1e \x1f ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ 
 2235:   A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e 
 2236:   f g h i j k l m n o p q r s t u v w x y z { | } ~ \x7f \xc0 \xc1 \xc2 \xc3 
 2237:   \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce \xcf \xd0 \xd1 \xd2 
 2238:   \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd \xde \xdf \xe0 \xe1 
 2239:   \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec \xed \xee \xef \xf0 
 2240:   \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb \xfc \xfd \xfe \xff 
 2241:     \x{a2} \x{84} 
 2242:  0: \x{a2} \x{84}
 2243:     A Z 
 2244:  0: A Z
 2245: 
 2246: 'A#хц'8x<any>BZ
 2247: ------------------------------------------------------------------
 2248:         Bra
 2249:         A
 2250:         Ket
 2251:         End
 2252: ------------------------------------------------------------------
 2253: 
 2254: 'A#хц
 2255:   PQ'8x<any>BZ
 2256: ------------------------------------------------------------------
 2257:         Bra
 2258:         APQ
 2259:         Ket
 2260:         End
 2261: ------------------------------------------------------------------
 2262:   
 2263: /a+#хaa
 2264:   z#XX?/8x<any>BZ 
 2265: ------------------------------------------------------------------
 2266:         Bra
 2267:         a++
 2268:         z
 2269:         Ket
 2270:         End
 2271: ------------------------------------------------------------------
 2272: 
 2273: /a+#хaa
 2274:   z#х?/8x<any>BZ 
 2275: ------------------------------------------------------------------
 2276:         Bra
 2277:         a++
 2278:         z
 2279:         Ket
 2280:         End
 2281: ------------------------------------------------------------------
 2282: 
 2283: /\g{A}xxx#bXX(?'A'123)
(?'A'456)/8x<any>BZ
 2284: ------------------------------------------------------------------
 2285:         Bra
 2286:         \1
 2287:         xxx
 2288:         CBra 1
 2289:         456
 2290:         Ket
 2291:         Ket
 2292:         End
 2293: ------------------------------------------------------------------
 2294: 
 2295: /\g{A}xxx#bх(?'A'123)
(?'A'456)/8x<any>BZ
 2296: ------------------------------------------------------------------
 2297:         Bra
 2298:         \1
 2299:         xxx
 2300:         CBra 1
 2301:         456
 2302:         Ket
 2303:         Ket
 2304:         End
 2305: ------------------------------------------------------------------
 2306: 
 2307: /a+/8
 2308:     a\x{123}aa\>1
 2309:  0: aa
 2310:     a\x{123}aa\>2
 2311: Error -11 (bad UTF-8 offset)
 2312:     a\x{123}aa\>3
 2313:  0: aa
 2314:     a\x{123}aa\>4
 2315:  0: a
 2316:     a\x{123}aa\>5
 2317: No match
 2318:     a\x{123}aa\>6
 2319: Error -24 (bad offset value)
 2320: 
 2321: /^\cģ/8
 2322: Failed: \c must be followed by an ASCII character at offset 3
 2323: 
 2324: /(\R*)(.)/s8
 2325:     \r\n
 2326:  0: \x{0d}
 2327:  1: 
 2328:  2: \x{0d}
 2329:     \r\r\n\n\r 
 2330:  0: \x{0d}\x{0d}\x{0a}\x{0a}\x{0d}
 2331:  1: \x{0d}\x{0d}\x{0a}\x{0a}
 2332:  2: \x{0d}
 2333:     \r\r\n\n\r\n 
 2334:  0: \x{0d}\x{0d}\x{0a}\x{0a}\x{0d}
 2335:  1: \x{0d}\x{0d}\x{0a}\x{0a}
 2336:  2: \x{0d}
 2337: 
 2338: /(\R)*(.)/s8
 2339:     \r\n
 2340:  0: \x{0d}
 2341:  1: <unset>
 2342:  2: \x{0d}
 2343:     \r\r\n\n\r 
 2344:  0: \x{0d}\x{0d}\x{0a}\x{0a}\x{0d}
 2345:  1: \x{0a}
 2346:  2: \x{0d}
 2347:     \r\r\n\n\r\n 
 2348:  0: \x{0d}\x{0d}\x{0a}\x{0a}\x{0d}
 2349:  1: \x{0a}
 2350:  2: \x{0d}
 2351: 
 2352: /\x{1234}+/iS8I
 2353: Capturing subpattern count = 0
 2354: Options: caseless utf8
 2355: No first char
 2356: No need char
 2357: Subject length lower bound = 1
 2358: Starting byte set: \xe1 
 2359: 
 2360: /\x{1234}+?/iS8I
 2361: Capturing subpattern count = 0
 2362: Options: caseless utf8
 2363: No first char
 2364: No need char
 2365: Subject length lower bound = 1
 2366: Starting byte set: \xe1 
 2367: 
 2368: /\x{1234}++/iS8I
 2369: Capturing subpattern count = 0
 2370: Options: caseless utf8
 2371: No first char
 2372: No need char
 2373: Subject length lower bound = 1
 2374: Starting byte set: \xe1 
 2375: 
 2376: /\x{1234}{2}/iS8I
 2377: Capturing subpattern count = 0
 2378: Options: caseless utf8
 2379: No first char
 2380: No need char
 2381: Subject length lower bound = 2
 2382: Starting byte set: \xe1 
 2383: 
 2384: /[^\x{1234}]+/iS8I   
 2385: Capturing subpattern count = 0
 2386: Options: caseless utf8
 2387: No first char
 2388: No need char
 2389: Subject length lower bound = 1
 2390: No set of starting bytes
 2391: 
 2392: /[^\x{1234}]+?/iS8I   
 2393: Capturing subpattern count = 0
 2394: Options: caseless utf8
 2395: No first char
 2396: No need char
 2397: Subject length lower bound = 1
 2398: No set of starting bytes
 2399: 
 2400: /[^\x{1234}]++/iS8I   
 2401: Capturing subpattern count = 0
 2402: Options: caseless utf8
 2403: No first char
 2404: No need char
 2405: Subject length lower bound = 1
 2406: No set of starting bytes
 2407: 
 2408: /[^\x{1234}]{2}/iS8I
 2409: Capturing subpattern count = 0
 2410: Options: caseless utf8
 2411: No first char
 2412: No need char
 2413: Subject length lower bound = 2
 2414: No set of starting bytes
 2415: 
 2416: //<bsr_anycrlf><bsr_unicode>
 2417: Failed: inconsistent NEWLINE options at offset 0
 2418: 
 2419: /f.*/
 2420:     \P\Pfor
 2421: Partial match: for
 2422: 
 2423: /f.*/s
 2424:     \P\Pfor
 2425: Partial match: for
 2426: 
 2427: /f.*/8
 2428:     \P\Pfor
 2429: Partial match: for
 2430: 
 2431: /f.*/8s
 2432:     \P\Pfor
 2433: Partial match: for
 2434: 
 2435: /-- End of testinput5 --/

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