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