Annotation of embedaddon/pcre/testdata/testoutput13, revision 1.1
1.1 ! misho 1: /-- These tests for Unicode property support test PCRE's API and show some of
! 2: the compiled code. They are not Perl-compatible. --/
! 3:
! 4: /[\p{L}]/DZ
! 5: ------------------------------------------------------------------
! 6: Bra
! 7: [\p{L}]
! 8: Ket
! 9: End
! 10: ------------------------------------------------------------------
! 11: Capturing subpattern count = 0
! 12: No options
! 13: No first char
! 14: No need char
! 15:
! 16: /[\p{^L}]/DZ
! 17: ------------------------------------------------------------------
! 18: Bra
! 19: [\P{L}]
! 20: Ket
! 21: End
! 22: ------------------------------------------------------------------
! 23: Capturing subpattern count = 0
! 24: No options
! 25: No first char
! 26: No need char
! 27:
! 28: /[\P{L}]/DZ
! 29: ------------------------------------------------------------------
! 30: Bra
! 31: [\P{L}]
! 32: Ket
! 33: End
! 34: ------------------------------------------------------------------
! 35: Capturing subpattern count = 0
! 36: No options
! 37: No first char
! 38: No need char
! 39:
! 40: /[\P{^L}]/DZ
! 41: ------------------------------------------------------------------
! 42: Bra
! 43: [\p{L}]
! 44: Ket
! 45: End
! 46: ------------------------------------------------------------------
! 47: Capturing subpattern count = 0
! 48: No options
! 49: No first char
! 50: No need char
! 51:
! 52: /[abc\p{L}\x{0660}]/8DZ
! 53: ------------------------------------------------------------------
! 54: Bra
! 55: [a-c\p{L}\x{660}]
! 56: Ket
! 57: End
! 58: ------------------------------------------------------------------
! 59: Capturing subpattern count = 0
! 60: Options: utf8
! 61: No first char
! 62: No need char
! 63:
! 64: /[\p{Nd}]/8DZ
! 65: ------------------------------------------------------------------
! 66: Bra
! 67: [\p{Nd}]
! 68: Ket
! 69: End
! 70: ------------------------------------------------------------------
! 71: Capturing subpattern count = 0
! 72: Options: utf8
! 73: No first char
! 74: No need char
! 75: 1234
! 76: 0: 1
! 77:
! 78: /[\p{Nd}+-]+/8DZ
! 79: ------------------------------------------------------------------
! 80: Bra
! 81: [+\-\p{Nd}]+
! 82: Ket
! 83: End
! 84: ------------------------------------------------------------------
! 85: Capturing subpattern count = 0
! 86: Options: utf8
! 87: No first char
! 88: No need char
! 89: 1234
! 90: 0: 1234
! 91: 12-34
! 92: 0: 12-34
! 93: 12+\x{661}-34
! 94: 0: 12+\x{661}-34
! 95: ** Failers
! 96: No match
! 97: abcd
! 98: No match
! 99:
! 100: /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8iDZ
! 101: ------------------------------------------------------------------
! 102: Bra
! 103: /i A\x{391}\x{10427}\x{ff3a}\x{1fb0}
! 104: Ket
! 105: End
! 106: ------------------------------------------------------------------
! 107: Capturing subpattern count = 0
! 108: Options: caseless utf8
! 109: First char = 'A' (caseless)
! 110: No need char
! 111:
! 112: /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8DZ
! 113: ------------------------------------------------------------------
! 114: Bra
! 115: A\x{391}\x{10427}\x{ff3a}\x{1fb0}
! 116: Ket
! 117: End
! 118: ------------------------------------------------------------------
! 119: Capturing subpattern count = 0
! 120: Options: utf8
! 121: First char = 'A'
! 122: Need char = 176
! 123:
! 124: /AB\x{1fb0}/8DZ
! 125: ------------------------------------------------------------------
! 126: Bra
! 127: AB\x{1fb0}
! 128: Ket
! 129: End
! 130: ------------------------------------------------------------------
! 131: Capturing subpattern count = 0
! 132: Options: utf8
! 133: First char = 'A'
! 134: Need char = 176
! 135:
! 136: /AB\x{1fb0}/8DZi
! 137: ------------------------------------------------------------------
! 138: Bra
! 139: /i AB\x{1fb0}
! 140: Ket
! 141: End
! 142: ------------------------------------------------------------------
! 143: Capturing subpattern count = 0
! 144: Options: caseless utf8
! 145: First char = 'A' (caseless)
! 146: Need char = 'B' (caseless)
! 147:
! 148: /[\x{105}-\x{109}]/8iDZ
! 149: ------------------------------------------------------------------
! 150: Bra
! 151: [\x{104}-\x{109}]
! 152: Ket
! 153: End
! 154: ------------------------------------------------------------------
! 155: Capturing subpattern count = 0
! 156: Options: caseless utf8
! 157: No first char
! 158: No need char
! 159: \x{104}
! 160: 0: \x{104}
! 161: \x{105}
! 162: 0: \x{105}
! 163: \x{109}
! 164: 0: \x{109}
! 165: ** Failers
! 166: No match
! 167: \x{100}
! 168: No match
! 169: \x{10a}
! 170: No match
! 171:
! 172: /[z-\x{100}]/8iDZ
! 173: ------------------------------------------------------------------
! 174: Bra
! 175: [Z\x{39c}\x{178}z-\x{101}]
! 176: Ket
! 177: End
! 178: ------------------------------------------------------------------
! 179: Capturing subpattern count = 0
! 180: Options: caseless utf8
! 181: No first char
! 182: No need char
! 183: Z
! 184: 0: Z
! 185: z
! 186: 0: z
! 187: \x{39c}
! 188: 0: \x{39c}
! 189: \x{178}
! 190: 0: \x{178}
! 191: |
! 192: 0: |
! 193: \x{80}
! 194: 0: \x{80}
! 195: \x{ff}
! 196: 0: \x{ff}
! 197: \x{100}
! 198: 0: \x{100}
! 199: \x{101}
! 200: 0: \x{101}
! 201: ** Failers
! 202: No match
! 203: \x{102}
! 204: No match
! 205: Y
! 206: No match
! 207: y
! 208: No match
! 209:
! 210: /[z-\x{100}]/8DZi
! 211: ------------------------------------------------------------------
! 212: Bra
! 213: [Z\x{39c}\x{178}z-\x{101}]
! 214: Ket
! 215: End
! 216: ------------------------------------------------------------------
! 217: Capturing subpattern count = 0
! 218: Options: caseless utf8
! 219: No first char
! 220: No need char
! 221:
! 222: /(?:[\PPa*]*){8,}/
! 223:
! 224: /[\P{Any}]/BZ
! 225: ------------------------------------------------------------------
! 226: Bra
! 227: [\P{Any}]
! 228: Ket
! 229: End
! 230: ------------------------------------------------------------------
! 231:
! 232: /[\P{Any}\E]/BZ
! 233: ------------------------------------------------------------------
! 234: Bra
! 235: [\P{Any}]
! 236: Ket
! 237: End
! 238: ------------------------------------------------------------------
! 239:
! 240: /(\P{Yi}+\277)/
! 241:
! 242: /(\P{Yi}+\277)?/
! 243:
! 244: /(?<=\P{Yi}{3}A)X/
! 245:
! 246: /\p{Yi}+(\P{Yi}+)(?1)/
! 247:
! 248: /(\P{Yi}{2}\277)?/
! 249:
! 250: /[\P{Yi}A]/
! 251:
! 252: /[\P{Yi}\P{Yi}\P{Yi}A]/
! 253:
! 254: /[^\P{Yi}A]/
! 255:
! 256: /[^\P{Yi}\P{Yi}\P{Yi}A]/
! 257:
! 258: /(\P{Yi}*\277)*/
! 259:
! 260: /(\P{Yi}*?\277)*/
! 261:
! 262: /(\p{Yi}*+\277)*/
! 263:
! 264: /(\P{Yi}?\277)*/
! 265:
! 266: /(\P{Yi}??\277)*/
! 267:
! 268: /(\p{Yi}?+\277)*/
! 269:
! 270: /(\P{Yi}{0,3}\277)*/
! 271:
! 272: /(\P{Yi}{0,3}?\277)*/
! 273:
! 274: /(\p{Yi}{0,3}+\277)*/
! 275:
! 276: /\p{Zl}{2,3}+/8BZ
! 277: ------------------------------------------------------------------
! 278: Bra
! 279: prop Zl {2}
! 280: prop Zl ?+
! 281: Ket
! 282: End
! 283: ------------------------------------------------------------------
! 284: \xe2\x80\xa8\xe2\x80\xa8
! 285: 0: \x{2028}\x{2028}
! 286: \x{2028}\x{2028}\x{2028}
! 287: 0: \x{2028}\x{2028}\x{2028}
! 288:
! 289: /\p{Zl}/8BZ
! 290: ------------------------------------------------------------------
! 291: Bra
! 292: prop Zl
! 293: Ket
! 294: End
! 295: ------------------------------------------------------------------
! 296:
! 297: /\p{Lu}{3}+/8BZ
! 298: ------------------------------------------------------------------
! 299: Bra
! 300: prop Lu {3}
! 301: Ket
! 302: End
! 303: ------------------------------------------------------------------
! 304:
! 305: /\pL{2}+/8BZ
! 306: ------------------------------------------------------------------
! 307: Bra
! 308: prop L {2}
! 309: Ket
! 310: End
! 311: ------------------------------------------------------------------
! 312:
! 313: /\p{Cc}{2}+/8BZ
! 314: ------------------------------------------------------------------
! 315: Bra
! 316: prop Cc {2}
! 317: Ket
! 318: End
! 319: ------------------------------------------------------------------
! 320:
! 321: /^\p{Cs}/8
! 322: \?\x{dfff}
! 323: 0: \x{dfff}
! 324: ** Failers
! 325: No match
! 326: \x{09f}
! 327: No match
! 328:
! 329: /^\p{Sc}+/8
! 330: $\x{a2}\x{a3}\x{a4}\x{a5}\x{a6}
! 331: 0: $\x{a2}\x{a3}\x{a4}\x{a5}
! 332: \x{9f2}
! 333: 0: \x{9f2}
! 334: ** Failers
! 335: No match
! 336: X
! 337: No match
! 338: \x{2c2}
! 339: No match
! 340:
! 341: /^\p{Zs}/8
! 342: \ \
! 343: 0:
! 344: \x{a0}
! 345: 0: \x{a0}
! 346: \x{1680}
! 347: 0: \x{1680}
! 348: \x{180e}
! 349: 0: \x{180e}
! 350: \x{2000}
! 351: 0: \x{2000}
! 352: \x{2001}
! 353: 0: \x{2001}
! 354: ** Failers
! 355: No match
! 356: \x{2028}
! 357: No match
! 358: \x{200d}
! 359: No match
! 360:
! 361: /-- These four are here rather than in test 6 because Perl has problems with
! 362: the negative versions of the properties. --/
! 363:
! 364: /\p{^Lu}/8i
! 365: 1234
! 366: 0: 1
! 367: ** Failers
! 368: 0: *
! 369: ABC
! 370: No match
! 371:
! 372: /\P{Lu}/8i
! 373: 1234
! 374: 0: 1
! 375: ** Failers
! 376: 0: *
! 377: ABC
! 378: No match
! 379:
! 380: /\p{Ll}/8i
! 381: a
! 382: 0: a
! 383: Az
! 384: 0: z
! 385: ** Failers
! 386: 0: a
! 387: ABC
! 388: No match
! 389:
! 390: /\p{Lu}/8i
! 391: A
! 392: 0: A
! 393: a\x{10a0}B
! 394: 0: \x{10a0}
! 395: ** Failers
! 396: 0: F
! 397: a
! 398: No match
! 399: \x{1d00}
! 400: No match
! 401:
! 402: /[\x{c0}\x{391}]/8i
! 403: \x{c0}
! 404: 0: \x{c0}
! 405: \x{e0}
! 406: 0: \x{e0}
! 407:
! 408: /-- The next two are special cases where the lengths of the different cases of
! 409: the same character differ. The first went wrong with heap frame storage; the
! 410: second was broken in all cases. --/
! 411:
! 412: /^\x{023a}+?(\x{0130}+)/8i
! 413: \x{023a}\x{2c65}\x{0130}
! 414: 0: \x{23a}\x{2c65}\x{130}
! 415: 1: \x{130}
! 416:
! 417: /^\x{023a}+([^X])/8i
! 418: \x{023a}\x{2c65}X
! 419: 0: \x{23a}\x{2c65}
! 420: 1: \x{2c65}
! 421:
! 422: /\x{c0}+\x{116}+/8i
! 423: \x{c0}\x{e0}\x{116}\x{117}
! 424: 0: \x{c0}\x{e0}\x{116}\x{117}
! 425:
! 426: /[\x{c0}\x{116}]+/8i
! 427: \x{c0}\x{e0}\x{116}\x{117}
! 428: 0: \x{c0}\x{e0}\x{116}\x{117}
! 429:
! 430: /(\x{de})\1/8i
! 431: \x{de}\x{de}
! 432: 0: \x{de}\x{de}
! 433: 1: \x{de}
! 434: \x{de}\x{fe}
! 435: 0: \x{de}\x{fe}
! 436: 1: \x{de}
! 437: \x{fe}\x{fe}
! 438: 0: \x{fe}\x{fe}
! 439: 1: \x{fe}
! 440: \x{fe}\x{de}
! 441: 0: \x{fe}\x{de}
! 442: 1: \x{fe}
! 443:
! 444: /^\x{c0}$/8i
! 445: \x{c0}
! 446: 0: \x{c0}
! 447: \x{e0}
! 448: 0: \x{e0}
! 449:
! 450: /^\x{e0}$/8i
! 451: \x{c0}
! 452: 0: \x{c0}
! 453: \x{e0}
! 454: 0: \x{e0}
! 455:
! 456: /-- The next two should be Perl-compatible, but it fails to match \x{e0}. PCRE
! 457: will match it only with UCP support, because without that it has no notion
! 458: of case for anything other than the ASCII letters. --/
! 459:
! 460: /((?i)[\x{c0}])/8
! 461: \x{c0}
! 462: 0: \x{c0}
! 463: 1: \x{c0}
! 464: \x{e0}
! 465: 0: \x{e0}
! 466: 1: \x{e0}
! 467:
! 468: /(?i:[\x{c0}])/8
! 469: \x{c0}
! 470: 0: \x{c0}
! 471: \x{e0}
! 472: 0: \x{e0}
! 473:
! 474: /-- This should be Perl-compatible but Perl 5.11 gets \x{300} wrong. --/8
! 475:
! 476: /^\X/8
! 477: A
! 478: 0: A
! 479: A\x{300}BC
! 480: 0: A\x{300}
! 481: A\x{300}\x{301}\x{302}BC
! 482: 0: A\x{300}\x{301}\x{302}
! 483: *** Failers
! 484: 0: *
! 485: \x{300}
! 486: No match
! 487:
! 488: /-- These are PCRE's extra properties to help with Unicodizing \d etc. --/
! 489:
! 490: /^\p{Xan}/8
! 491: ABCD
! 492: 0: A
! 493: 1234
! 494: 0: 1
! 495: \x{6ca}
! 496: 0: \x{6ca}
! 497: \x{a6c}
! 498: 0: \x{a6c}
! 499: \x{10a7}
! 500: 0: \x{10a7}
! 501: ** Failers
! 502: No match
! 503: _ABC
! 504: No match
! 505:
! 506: /^\p{Xan}+/8
! 507: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
! 508: 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}
! 509: ** Failers
! 510: No match
! 511: _ABC
! 512: No match
! 513:
! 514: /^\p{Xan}+?/8
! 515: \x{6ca}\x{a6c}\x{10a7}_
! 516: 0: \x{6ca}
! 517:
! 518: /^\p{Xan}*/8
! 519: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
! 520: 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}
! 521:
! 522: /^\p{Xan}{2,9}/8
! 523: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
! 524: 0: ABCD1234\x{6ca}
! 525:
! 526: /^\p{Xan}{2,9}?/8
! 527: \x{6ca}\x{a6c}\x{10a7}_
! 528: 0: \x{6ca}\x{a6c}
! 529:
! 530: /^[\p{Xan}]/8
! 531: ABCD1234_
! 532: 0: A
! 533: 1234abcd_
! 534: 0: 1
! 535: \x{6ca}
! 536: 0: \x{6ca}
! 537: \x{a6c}
! 538: 0: \x{a6c}
! 539: \x{10a7}
! 540: 0: \x{10a7}
! 541: ** Failers
! 542: No match
! 543: _ABC
! 544: No match
! 545:
! 546: /^[\p{Xan}]+/8
! 547: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
! 548: 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}
! 549: ** Failers
! 550: No match
! 551: _ABC
! 552: No match
! 553:
! 554: /^>\p{Xsp}/8
! 555: >\x{1680}\x{2028}\x{0b}
! 556: 0: >\x{1680}
! 557: >\x{a0}
! 558: 0: >\x{a0}
! 559: ** Failers
! 560: No match
! 561: \x{0b}
! 562: No match
! 563:
! 564: /^>\p{Xsp}+/8
! 565: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
! 566: 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}
! 567:
! 568: /^>\p{Xsp}+?/8
! 569: >\x{1680}\x{2028}\x{0b}
! 570: 0: >\x{1680}
! 571:
! 572: /^>\p{Xsp}*/8
! 573: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
! 574: 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}
! 575:
! 576: /^>\p{Xsp}{2,9}/8
! 577: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
! 578: 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}
! 579:
! 580: /^>\p{Xsp}{2,9}?/8
! 581: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
! 582: 0: > \x{09}
! 583:
! 584: /^>[\p{Xsp}]/8
! 585: >\x{2028}\x{0b}
! 586: 0: >\x{2028}
! 587:
! 588: /^>[\p{Xsp}]+/8
! 589: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
! 590: 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}
! 591:
! 592: /^>\p{Xps}/8
! 593: >\x{1680}\x{2028}\x{0b}
! 594: 0: >\x{1680}
! 595: >\x{a0}
! 596: 0: >\x{a0}
! 597: ** Failers
! 598: No match
! 599: \x{0b}
! 600: No match
! 601:
! 602: /^>\p{Xps}+/8
! 603: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
! 604: 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
! 605:
! 606: /^>\p{Xps}+?/8
! 607: >\x{1680}\x{2028}\x{0b}
! 608: 0: >\x{1680}
! 609:
! 610: /^>\p{Xps}*/8
! 611: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
! 612: 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
! 613:
! 614: /^>\p{Xps}{2,9}/8
! 615: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
! 616: 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
! 617:
! 618: /^>\p{Xps}{2,9}?/8
! 619: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
! 620: 0: > \x{09}
! 621:
! 622: /^>[\p{Xps}]/8
! 623: >\x{2028}\x{0b}
! 624: 0: >\x{2028}
! 625:
! 626: /^>[\p{Xps}]+/8
! 627: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
! 628: 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
! 629:
! 630: /^\p{Xwd}/8
! 631: ABCD
! 632: 0: A
! 633: 1234
! 634: 0: 1
! 635: \x{6ca}
! 636: 0: \x{6ca}
! 637: \x{a6c}
! 638: 0: \x{a6c}
! 639: \x{10a7}
! 640: 0: \x{10a7}
! 641: _ABC
! 642: 0: _
! 643: ** Failers
! 644: No match
! 645: []
! 646: No match
! 647:
! 648: /^\p{Xwd}+/8
! 649: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
! 650: 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
! 651:
! 652: /^\p{Xwd}+?/8
! 653: \x{6ca}\x{a6c}\x{10a7}_
! 654: 0: \x{6ca}
! 655:
! 656: /^\p{Xwd}*/8
! 657: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
! 658: 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
! 659:
! 660: /^\p{Xwd}{2,9}/8
! 661: A_B12\x{6ca}\x{a6c}\x{10a7}
! 662: 0: A_B12\x{6ca}\x{a6c}\x{10a7}
! 663:
! 664: /^\p{Xwd}{2,9}?/8
! 665: \x{6ca}\x{a6c}\x{10a7}_
! 666: 0: \x{6ca}\x{a6c}
! 667:
! 668: /^[\p{Xwd}]/8
! 669: ABCD1234_
! 670: 0: A
! 671: 1234abcd_
! 672: 0: 1
! 673: \x{6ca}
! 674: 0: \x{6ca}
! 675: \x{a6c}
! 676: 0: \x{a6c}
! 677: \x{10a7}
! 678: 0: \x{10a7}
! 679: _ABC
! 680: 0: _
! 681: ** Failers
! 682: No match
! 683: []
! 684: No match
! 685:
! 686: /^[\p{Xwd}]+/8
! 687: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
! 688: 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
! 689:
! 690: /-- A check not in UTF-8 mode --/
! 691:
! 692: /^[\p{Xwd}]+/
! 693: ABCD1234_
! 694: 0: ABCD1234_
! 695:
! 696: /-- Some negative checks --/
! 697:
! 698: /^[\P{Xwd}]+/8
! 699: !.+\x{019}\x{35a}AB
! 700: 0: !.+\x{19}\x{35a}
! 701:
! 702: /^[\p{^Xwd}]+/8
! 703: !.+\x{019}\x{35a}AB
! 704: 0: !.+\x{19}\x{35a}
! 705:
! 706: /[\D]/WBZ8
! 707: ------------------------------------------------------------------
! 708: Bra
! 709: [\P{Nd}]
! 710: Ket
! 711: End
! 712: ------------------------------------------------------------------
! 713: 1\x{3c8}2
! 714: 0: \x{3c8}
! 715:
! 716: /[\d]/WBZ8
! 717: ------------------------------------------------------------------
! 718: Bra
! 719: [\p{Nd}]
! 720: Ket
! 721: End
! 722: ------------------------------------------------------------------
! 723: >\x{6f4}<
! 724: 0: \x{6f4}
! 725:
! 726: /[\S]/WBZ8
! 727: ------------------------------------------------------------------
! 728: Bra
! 729: [\P{Xsp}]
! 730: Ket
! 731: End
! 732: ------------------------------------------------------------------
! 733: \x{1680}\x{6f4}\x{1680}
! 734: 0: \x{6f4}
! 735:
! 736: /[\s]/WBZ8
! 737: ------------------------------------------------------------------
! 738: Bra
! 739: [\p{Xsp}]
! 740: Ket
! 741: End
! 742: ------------------------------------------------------------------
! 743: >\x{1680}<
! 744: 0: \x{1680}
! 745:
! 746: /[\W]/WBZ8
! 747: ------------------------------------------------------------------
! 748: Bra
! 749: [\P{Xwd}]
! 750: Ket
! 751: End
! 752: ------------------------------------------------------------------
! 753: A\x{1712}B
! 754: 0: \x{1712}
! 755:
! 756: /[\w]/WBZ8
! 757: ------------------------------------------------------------------
! 758: Bra
! 759: [\p{Xwd}]
! 760: Ket
! 761: End
! 762: ------------------------------------------------------------------
! 763: >\x{1723}<
! 764: 0: \x{1723}
! 765:
! 766: /\D/WBZ8
! 767: ------------------------------------------------------------------
! 768: Bra
! 769: notprop Nd
! 770: Ket
! 771: End
! 772: ------------------------------------------------------------------
! 773: 1\x{3c8}2
! 774: 0: \x{3c8}
! 775:
! 776: /\d/WBZ8
! 777: ------------------------------------------------------------------
! 778: Bra
! 779: prop Nd
! 780: Ket
! 781: End
! 782: ------------------------------------------------------------------
! 783: >\x{6f4}<
! 784: 0: \x{6f4}
! 785:
! 786: /\S/WBZ8
! 787: ------------------------------------------------------------------
! 788: Bra
! 789: notprop Xsp
! 790: Ket
! 791: End
! 792: ------------------------------------------------------------------
! 793: \x{1680}\x{6f4}\x{1680}
! 794: 0: \x{6f4}
! 795:
! 796: /\s/WBZ8
! 797: ------------------------------------------------------------------
! 798: Bra
! 799: prop Xsp
! 800: Ket
! 801: End
! 802: ------------------------------------------------------------------
! 803: >\x{1680}>
! 804: 0: \x{1680}
! 805:
! 806: /\W/WBZ8
! 807: ------------------------------------------------------------------
! 808: Bra
! 809: notprop Xwd
! 810: Ket
! 811: End
! 812: ------------------------------------------------------------------
! 813: A\x{1712}B
! 814: 0: \x{1712}
! 815:
! 816: /\w/WBZ8
! 817: ------------------------------------------------------------------
! 818: Bra
! 819: prop Xwd
! 820: Ket
! 821: End
! 822: ------------------------------------------------------------------
! 823: >\x{1723}<
! 824: 0: \x{1723}
! 825:
! 826: /[[:alpha:]]/WBZ
! 827: ------------------------------------------------------------------
! 828: Bra
! 829: [\p{L}]
! 830: Ket
! 831: End
! 832: ------------------------------------------------------------------
! 833:
! 834: /[[:lower:]]/WBZ
! 835: ------------------------------------------------------------------
! 836: Bra
! 837: [\p{Ll}]
! 838: Ket
! 839: End
! 840: ------------------------------------------------------------------
! 841:
! 842: /[[:upper:]]/WBZ
! 843: ------------------------------------------------------------------
! 844: Bra
! 845: [\p{Lu}]
! 846: Ket
! 847: End
! 848: ------------------------------------------------------------------
! 849:
! 850: /[[:alnum:]]/WBZ
! 851: ------------------------------------------------------------------
! 852: Bra
! 853: [\p{Xan}]
! 854: Ket
! 855: End
! 856: ------------------------------------------------------------------
! 857:
! 858: /[[:ascii:]]/WBZ
! 859: ------------------------------------------------------------------
! 860: Bra
! 861: [\x00-\x7f]
! 862: Ket
! 863: End
! 864: ------------------------------------------------------------------
! 865:
! 866: /[[:blank:]]/WBZ
! 867: ------------------------------------------------------------------
! 868: Bra
! 869: [\x09 \xa0]
! 870: Ket
! 871: End
! 872: ------------------------------------------------------------------
! 873:
! 874: /[[:cntrl:]]/WBZ
! 875: ------------------------------------------------------------------
! 876: Bra
! 877: [\x00-\x1f\x7f]
! 878: Ket
! 879: End
! 880: ------------------------------------------------------------------
! 881:
! 882: /[[:digit:]]/WBZ
! 883: ------------------------------------------------------------------
! 884: Bra
! 885: [\p{Nd}]
! 886: Ket
! 887: End
! 888: ------------------------------------------------------------------
! 889:
! 890: /[[:graph:]]/WBZ
! 891: ------------------------------------------------------------------
! 892: Bra
! 893: [!-~]
! 894: Ket
! 895: End
! 896: ------------------------------------------------------------------
! 897:
! 898: /[[:print:]]/WBZ
! 899: ------------------------------------------------------------------
! 900: Bra
! 901: [ -~]
! 902: Ket
! 903: End
! 904: ------------------------------------------------------------------
! 905:
! 906: /[[:punct:]]/WBZ
! 907: ------------------------------------------------------------------
! 908: Bra
! 909: [!-/:-@[-`{-~]
! 910: Ket
! 911: End
! 912: ------------------------------------------------------------------
! 913:
! 914: /[[:space:]]/WBZ
! 915: ------------------------------------------------------------------
! 916: Bra
! 917: [\p{Xps}]
! 918: Ket
! 919: End
! 920: ------------------------------------------------------------------
! 921:
! 922: /[[:word:]]/WBZ
! 923: ------------------------------------------------------------------
! 924: Bra
! 925: [\p{Xwd}]
! 926: Ket
! 927: End
! 928: ------------------------------------------------------------------
! 929:
! 930: /[[:xdigit:]]/WBZ
! 931: ------------------------------------------------------------------
! 932: Bra
! 933: [0-9A-Fa-f]
! 934: Ket
! 935: End
! 936: ------------------------------------------------------------------
! 937:
! 938: /-- Unicode properties for \b abd \B --/
! 939:
! 940: /\b...\B/8W
! 941: abc_
! 942: 0: abc
! 943: \x{37e}abc\x{376}
! 944: 0: abc
! 945: \x{37e}\x{376}\x{371}\x{393}\x{394}
! 946: 0: \x{376}\x{371}\x{393}
! 947: !\x{c0}++\x{c1}\x{c2}
! 948: 0: ++\x{c1}
! 949: !\x{c0}+++++
! 950: 0: \x{c0}++
! 951:
! 952: /-- Without PCRE_UCP, non-ASCII always fail, even if < 256 --/
! 953:
! 954: /\b...\B/8
! 955: abc_
! 956: 0: abc
! 957: ** Failers
! 958: 0: Fai
! 959: \x{37e}abc\x{376}
! 960: No match
! 961: \x{37e}\x{376}\x{371}\x{393}\x{394}
! 962: No match
! 963: !\x{c0}++\x{c1}\x{c2}
! 964: No match
! 965: !\x{c0}+++++
! 966: No match
! 967:
! 968: /-- With PCRE_UCP, non-UTF8 chars that are < 256 still check properties --/
! 969:
! 970: /\b...\B/W
! 971: abc_
! 972: 0: abc
! 973: !\x{c0}++\x{c1}\x{c2}
! 974: 0: ++\xc1
! 975: !\x{c0}+++++
! 976: 0: \xc0++
! 977:
! 978: /-- POSIX interface --/
! 979:
! 980: /\w/P
! 981: +++\x{c2}
! 982: No match: POSIX code 17: match failed
! 983:
! 984: /\w/WP
! 985: +++\x{c2}
! 986: 0: \xc2
! 987:
! 988: /-- Some of these are silly, but they check various combinations --/
! 989:
! 990: /[[:^alpha:][:^cntrl:]]+/8WBZ
! 991: ------------------------------------------------------------------
! 992: Bra
! 993: [ -~\x80-\xff\P{L}]+
! 994: Ket
! 995: End
! 996: ------------------------------------------------------------------
! 997: 123
! 998: 0: 123
! 999: abc
! 1000: 0: abc
! 1001:
! 1002: /[[:^cntrl:][:^alpha:]]+/8WBZ
! 1003: ------------------------------------------------------------------
! 1004: Bra
! 1005: [ -~\x80-\xff\P{L}]+
! 1006: Ket
! 1007: End
! 1008: ------------------------------------------------------------------
! 1009: 123
! 1010: 0: 123
! 1011: abc
! 1012: 0: abc
! 1013:
! 1014: /[[:alpha:]]+/8WBZ
! 1015: ------------------------------------------------------------------
! 1016: Bra
! 1017: [\p{L}]+
! 1018: Ket
! 1019: End
! 1020: ------------------------------------------------------------------
! 1021: abc
! 1022: 0: abc
! 1023:
! 1024: /[[:^alpha:]\S]+/8WBZ
! 1025: ------------------------------------------------------------------
! 1026: Bra
! 1027: [\P{L}\P{Xsp}]+
! 1028: Ket
! 1029: End
! 1030: ------------------------------------------------------------------
! 1031: 123
! 1032: 0: 123
! 1033: abc
! 1034: 0: abc
! 1035:
! 1036: /[^\d]+/8WBZ
! 1037: ------------------------------------------------------------------
! 1038: Bra
! 1039: [^\p{Nd}]+
! 1040: Ket
! 1041: End
! 1042: ------------------------------------------------------------------
! 1043: abc123
! 1044: 0: abc
! 1045: abc\x{123}
! 1046: 0: abc\x{123}
! 1047: \x{660}abc
! 1048: 0: abc
! 1049:
! 1050: /\x{401}\x{420}\x{421}\x{422}\x{423}\x{424}\x{425}\x{426}\x{427}\x{428}\x{429}\x{42a}\x{42b}\x{42c}\x{42d}\x{42e}\x{42f}/8iSI
! 1051: Capturing subpattern count = 0
! 1052: Options: caseless utf8
! 1053: No first char
! 1054: No need char
! 1055: Subject length lower bound = 17
! 1056: Starting byte set: \xd0 \xd1
! 1057: \x{401}\x{420}\x{421}\x{422}\x{423}\x{424}\x{425}\x{426}\x{427}\x{428}\x{429}\x{42a}\x{42b}\x{42c}\x{42d}\x{42e}\x{42f}
! 1058: 0: \x{401}\x{420}\x{421}\x{422}\x{423}\x{424}\x{425}\x{426}\x{427}\x{428}\x{429}\x{42a}\x{42b}\x{42c}\x{42d}\x{42e}\x{42f}
! 1059: \x{451}\x{440}\x{441}\x{442}\x{443}\x{444}\x{445}\x{446}\x{447}\x{448}\x{449}\x{44a}\x{44b}\x{44c}\x{44d}\x{44e}\x{44f}
! 1060: 0: \x{451}\x{440}\x{441}\x{442}\x{443}\x{444}\x{445}\x{446}\x{447}\x{448}\x{449}\x{44a}\x{44b}\x{44c}\x{44d}\x{44e}\x{44f}
! 1061:
! 1062: /\p{Lu}+9\p{Lu}+B\p{Lu}+b/BZ
! 1063: ------------------------------------------------------------------
! 1064: Bra
! 1065: prop Lu ++
! 1066: 9
! 1067: prop Lu +
! 1068: B
! 1069: prop Lu ++
! 1070: b
! 1071: Ket
! 1072: End
! 1073: ------------------------------------------------------------------
! 1074:
! 1075: /\p{^Lu}+9\p{^Lu}+B\p{^Lu}+b/BZ
! 1076: ------------------------------------------------------------------
! 1077: Bra
! 1078: notprop Lu +
! 1079: 9
! 1080: notprop Lu ++
! 1081: B
! 1082: notprop Lu +
! 1083: b
! 1084: Ket
! 1085: End
! 1086: ------------------------------------------------------------------
! 1087:
! 1088: /\P{Lu}+9\P{Lu}+B\P{Lu}+b/BZ
! 1089: ------------------------------------------------------------------
! 1090: Bra
! 1091: notprop Lu +
! 1092: 9
! 1093: notprop Lu ++
! 1094: B
! 1095: notprop Lu +
! 1096: b
! 1097: Ket
! 1098: End
! 1099: ------------------------------------------------------------------
! 1100:
! 1101: /\p{Han}+X\p{Greek}+\x{370}/BZ8
! 1102: ------------------------------------------------------------------
! 1103: Bra
! 1104: prop Han ++
! 1105: X
! 1106: prop Greek +
! 1107: \x{370}
! 1108: Ket
! 1109: End
! 1110: ------------------------------------------------------------------
! 1111:
! 1112: /\p{Xan}+!\p{Xan}+A/BZ
! 1113: ------------------------------------------------------------------
! 1114: Bra
! 1115: prop Xan ++
! 1116: !
! 1117: prop Xan +
! 1118: A
! 1119: Ket
! 1120: End
! 1121: ------------------------------------------------------------------
! 1122:
! 1123: /\p{Xsp}+!\p{Xsp}\t/BZ
! 1124: ------------------------------------------------------------------
! 1125: Bra
! 1126: prop Xsp ++
! 1127: !
! 1128: prop Xsp
! 1129: \x09
! 1130: Ket
! 1131: End
! 1132: ------------------------------------------------------------------
! 1133:
! 1134: /\p{Xps}+!\p{Xps}\t/BZ
! 1135: ------------------------------------------------------------------
! 1136: Bra
! 1137: prop Xps ++
! 1138: !
! 1139: prop Xps
! 1140: \x09
! 1141: Ket
! 1142: End
! 1143: ------------------------------------------------------------------
! 1144:
! 1145: /\p{Xwd}+!\p{Xwd}_/BZ
! 1146: ------------------------------------------------------------------
! 1147: Bra
! 1148: prop Xwd ++
! 1149: !
! 1150: prop Xwd
! 1151: _
! 1152: Ket
! 1153: End
! 1154: ------------------------------------------------------------------
! 1155:
! 1156: /A+\p{N}A+\dB+\p{N}*B+\d*/WBZ
! 1157: ------------------------------------------------------------------
! 1158: Bra
! 1159: A++
! 1160: prop N
! 1161: A++
! 1162: prop Nd
! 1163: B+
! 1164: prop N *+
! 1165: B+
! 1166: prop Nd *
! 1167: Ket
! 1168: End
! 1169: ------------------------------------------------------------------
! 1170:
! 1171: /-- These behaved oddly in Perl, so they are kept in this test --/
! 1172:
! 1173: /(\x{23a}\x{23a}\x{23a})?\1/8i
! 1174: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}
! 1175: No match
! 1176:
! 1177: /(ȺȺȺ)?\1/8i
! 1178: ȺȺȺⱥⱥ
! 1179: No match
! 1180:
! 1181: /(\x{23a}\x{23a}\x{23a})?\1/8i
! 1182: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
! 1183: 0: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
! 1184: 1: \x{23a}\x{23a}\x{23a}
! 1185:
! 1186: /(ȺȺȺ)?\1/8i
! 1187: ȺȺȺⱥⱥⱥ
! 1188: 0: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
! 1189: 1: \x{23a}\x{23a}\x{23a}
! 1190:
! 1191: /(\x{23a}\x{23a}\x{23a})\1/8i
! 1192: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}
! 1193: No match
! 1194:
! 1195: /(ȺȺȺ)\1/8i
! 1196: ȺȺȺⱥⱥ
! 1197: No match
! 1198:
! 1199: /(\x{23a}\x{23a}\x{23a})\1/8i
! 1200: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
! 1201: 0: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
! 1202: 1: \x{23a}\x{23a}\x{23a}
! 1203:
! 1204: /(ȺȺȺ)\1/8i
! 1205: ȺȺȺⱥⱥⱥ
! 1206: 0: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
! 1207: 1: \x{23a}\x{23a}\x{23a}
! 1208:
! 1209: /(\x{2c65}\x{2c65})\1/8i
! 1210: \x{2c65}\x{2c65}\x{23a}\x{23a}
! 1211: 0: \x{2c65}\x{2c65}\x{23a}\x{23a}
! 1212: 1: \x{2c65}\x{2c65}
! 1213:
! 1214: /(ⱥⱥ)\1/8i
! 1215: ⱥⱥȺȺ
! 1216: 0: \x{2c65}\x{2c65}\x{23a}\x{23a}
! 1217: 1: \x{2c65}\x{2c65}
! 1218:
! 1219: /(\x{23a}\x{23a}\x{23a})\1Y/8i
! 1220: X\x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}YZ
! 1221: 0: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}Y
! 1222: 1: \x{23a}\x{23a}\x{23a}
! 1223:
! 1224: /(\x{2c65}\x{2c65})\1Y/8i
! 1225: X\x{2c65}\x{2c65}\x{23a}\x{23a}YZ
! 1226: 0: \x{2c65}\x{2c65}\x{23a}\x{23a}Y
! 1227: 1: \x{2c65}\x{2c65}
! 1228:
! 1229: /-- --/
! 1230:
! 1231: /-- These scripts weren't yet in Perl when I added Unicode 6.0.0 to PCRE --/
! 1232:
! 1233: /^[\p{Batak}]/8
! 1234: \x{1bc0}
! 1235: 0: \x{1bc0}
! 1236: \x{1bff}
! 1237: 0: \x{1bff}
! 1238: ** Failers
! 1239: No match
! 1240: \x{1bf4}
! 1241: No match
! 1242:
! 1243: /^[\p{Brahmi}]/8
! 1244: \x{11000}
! 1245: 0: \x{11000}
! 1246: \x{1106f}
! 1247: 0: \x{1106f}
! 1248: ** Failers
! 1249: No match
! 1250: \x{1104e}
! 1251: No match
! 1252:
! 1253: /^[\p{Mandaic}]/8
! 1254: \x{840}
! 1255: 0: \x{840}
! 1256: \x{85e}
! 1257: 0: \x{85e}
! 1258: ** Failers
! 1259: No match
! 1260: \x{85c}
! 1261: No match
! 1262: \x{85d}
! 1263: No match
! 1264:
! 1265: /-- --/
! 1266:
! 1267: /(\X*)(.)/s8
! 1268: A\x{300}
! 1269: 0: A
! 1270: 1:
! 1271: 2: A
! 1272:
! 1273: /^S(\X*)e(\X*)$/8
! 1274: Stéréo
! 1275: No match
! 1276:
! 1277: /^\X/8
! 1278: ́réo
! 1279: No match
! 1280:
! 1281: /^a\X41z/<JS>
! 1282: aX41z
! 1283: 0: aX41z
! 1284: *** Failers
! 1285: No match
! 1286: aAz
! 1287: No match
! 1288:
! 1289: /(?<=ab\Cde)X/8
! 1290: Failed: \C not allowed in lookbehind assertion at offset 10
! 1291:
! 1292: /-- End of testinput13 --/
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>