Annotation of embedaddon/pcre/testdata/testoutput13, revision 1.1.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>