Annotation of embedaddon/pcre/testdata/testoutput5, revision 1.1
1.1 ! misho 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>