Home | History | Annotate | Download | only in testdata
      1 /-- These are a few representative patterns whose lengths and offsets are to be 
      2 shown when the link size is 2. This is just a doublecheck test to ensure the 
      3 sizes don't go horribly wrong when something is changed. The pattern contents 
      4 are all themselves checked in other tests. Unicode, including property support, 
      5 is required for these tests. --/
      6 
      7 /((?i)b)/BM
      8 Memory allocation (code space): 17
      9 ------------------------------------------------------------------
     10   0  13 Bra
     11   3   7 CBra 1
     12   8  /i b
     13  10   7 Ket
     14  13  13 Ket
     15  16     End
     16 ------------------------------------------------------------------
     17 
     18 /(?s)(.*X|^B)/BM
     19 Memory allocation (code space): 25
     20 ------------------------------------------------------------------
     21   0  21 Bra
     22   3   9 CBra 1
     23   8     AllAny*
     24  10     X
     25  12   6 Alt
     26  15     ^
     27  16     B
     28  18  15 Ket
     29  21  21 Ket
     30  24     End
     31 ------------------------------------------------------------------
     32 
     33 /(?s:.*X|^B)/BM
     34 Memory allocation (code space): 23
     35 ------------------------------------------------------------------
     36   0  19 Bra
     37   3   7 Bra
     38   6     AllAny*
     39   8     X
     40  10   6 Alt
     41  13     ^
     42  14     B
     43  16  13 Ket
     44  19  19 Ket
     45  22     End
     46 ------------------------------------------------------------------
     47 
     48 /^[[:alnum:]]/BM
     49 Memory allocation (code space): 41
     50 ------------------------------------------------------------------
     51   0  37 Bra
     52   3     ^
     53   4     [0-9A-Za-z]
     54  37  37 Ket
     55  40     End
     56 ------------------------------------------------------------------
     57 
     58 /#/IxMD
     59 Memory allocation (code space): 7
     60 ------------------------------------------------------------------
     61   0   3 Bra
     62   3   3 Ket
     63   6     End
     64 ------------------------------------------------------------------
     65 Capturing subpattern count = 0
     66 May match empty string
     67 Options: extended
     68 No first char
     69 No need char
     70 
     71 /a#/IxMD
     72 Memory allocation (code space): 9
     73 ------------------------------------------------------------------
     74   0   5 Bra
     75   3     a
     76   5   5 Ket
     77   8     End
     78 ------------------------------------------------------------------
     79 Capturing subpattern count = 0
     80 Options: extended
     81 First char = 'a'
     82 No need char
     83 
     84 /x?+/BM
     85 Memory allocation (code space): 9
     86 ------------------------------------------------------------------
     87   0   5 Bra
     88   3     x?+
     89   5   5 Ket
     90   8     End
     91 ------------------------------------------------------------------
     92 
     93 /x++/BM
     94 Memory allocation (code space): 9
     95 ------------------------------------------------------------------
     96   0   5 Bra
     97   3     x++
     98   5   5 Ket
     99   8     End
    100 ------------------------------------------------------------------
    101 
    102 /x{1,3}+/BM 
    103 Memory allocation (code space): 13
    104 ------------------------------------------------------------------
    105   0   9 Bra
    106   3     x
    107   5     x{0,2}+
    108   9   9 Ket
    109  12     End
    110 ------------------------------------------------------------------
    111 
    112 /(x)*+/BM
    113 Memory allocation (code space): 18
    114 ------------------------------------------------------------------
    115   0  14 Bra
    116   3     Braposzero
    117   4   7 CBraPos 1
    118   9     x
    119  11   7 KetRpos
    120  14  14 Ket
    121  17     End
    122 ------------------------------------------------------------------
    123 
    124 /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/BM
    125 Memory allocation (code space): 120
    126 ------------------------------------------------------------------
    127   0 116 Bra
    128   3     ^
    129   4 109 CBra 1
    130   9   7 CBra 2
    131  14     a+
    132  16   7 Ket
    133  19  39 CBra 3
    134  24     [ab]+?
    135  58  39 Ket
    136  61  39 CBra 4
    137  66     [bc]+
    138 100  39 Ket
    139 103   7 CBra 5
    140 108     \w*+
    141 110   7 Ket
    142 113 109 Ket
    143 116 116 Ket
    144 119     End
    145 ------------------------------------------------------------------
    146 
    147 |8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|BM
    148 Memory allocation (code space): 826
    149 ------------------------------------------------------------------
    150   0 822 Bra
    151   3     8J$WE<.rX+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDD<EjmhUZ?.akp2dF>qmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X
    152 821     \b
    153 822 822 Ket
    154 825     End
    155 ------------------------------------------------------------------
    156 
    157 |\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|BM
    158 Memory allocation (code space): 816
    159 ------------------------------------------------------------------
    160   0 812 Bra
    161   3     $<.X+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDD<EjmhUZ?.akp2dF>qmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X
    162 811     \b
    163 812 812 Ket
    164 815     End
    165 ------------------------------------------------------------------
    166 
    167 /(a(?1)b)/BM
    168 Memory allocation (code space): 22
    169 ------------------------------------------------------------------
    170   0  18 Bra
    171   3  12 CBra 1
    172   8     a
    173  10   3 Recurse
    174  13     b
    175  15  12 Ket
    176  18  18 Ket
    177  21     End
    178 ------------------------------------------------------------------
    179 
    180 /(a(?1)+b)/BM
    181 Memory allocation (code space): 28
    182 ------------------------------------------------------------------
    183   0  24 Bra
    184   3  18 CBra 1
    185   8     a
    186  10   6 Once
    187  13   3 Recurse
    188  16   6 KetRmax
    189  19     b
    190  21  18 Ket
    191  24  24 Ket
    192  27     End
    193 ------------------------------------------------------------------
    194 
    195 /a(?P<name1>b|c)d(?P<longername2>e)/BM
    196 Memory allocation (code space): 36
    197 ------------------------------------------------------------------
    198   0  32 Bra
    199   3     a
    200   5   7 CBra 1
    201  10     b
    202  12   5 Alt
    203  15     c
    204  17  12 Ket
    205  20     d
    206  22   7 CBra 2
    207  27     e
    208  29   7 Ket
    209  32  32 Ket
    210  35     End
    211 ------------------------------------------------------------------
    212 
    213 /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/BM
    214 Memory allocation (code space): 45
    215 ------------------------------------------------------------------
    216   0  41 Bra
    217   3  25 Bra
    218   6     a
    219   8  17 CBra 1
    220  13     c
    221  15   7 CBra 2
    222  20     d
    223  22   7 Ket
    224  25  17 Ket
    225  28  25 Ket
    226  31   7 CBra 3
    227  36     a
    228  38   7 Ket
    229  41  41 Ket
    230  44     End
    231 ------------------------------------------------------------------
    232 
    233 /(?P<a>a)...(?P=a)bbb(?P>a)d/BM
    234 Memory allocation (code space): 50
    235 ------------------------------------------------------------------
    236   0  30 Bra
    237   3   7 CBra 1
    238   8     a
    239  10   7 Ket
    240  13     Any
    241  14     Any
    242  15     Any
    243  16     \1
    244  19     bbb
    245  25   3 Recurse
    246  28     d
    247  30  30 Ket
    248  33     End
    249 ------------------------------------------------------------------
    250 
    251 /abc(?C255)de(?C)f/BM
    252 Memory allocation (code space): 31
    253 ------------------------------------------------------------------
    254   0  27 Bra
    255   3     abc
    256   9     Callout 255 10 1
    257  15     de
    258  19     Callout 0 16 1
    259  25     f
    260  27  27 Ket
    261  30     End
    262 ------------------------------------------------------------------
    263 
    264 /abcde/CBM
    265 Memory allocation (code space): 53
    266 ------------------------------------------------------------------
    267   0  49 Bra
    268   3     Callout 255 0 1
    269   9     a
    270  11     Callout 255 1 1
    271  17     b
    272  19     Callout 255 2 1
    273  25     c
    274  27     Callout 255 3 1
    275  33     d
    276  35     Callout 255 4 1
    277  41     e
    278  43     Callout 255 5 0
    279  49  49 Ket
    280  52     End
    281 ------------------------------------------------------------------
    282 
    283 /\x{100}/8BM
    284 Memory allocation (code space): 10
    285 ------------------------------------------------------------------
    286   0   6 Bra
    287   3     \x{100}
    288   6   6 Ket
    289   9     End
    290 ------------------------------------------------------------------
    291 
    292 /\x{1000}/8BM
    293 Memory allocation (code space): 11
    294 ------------------------------------------------------------------
    295   0   7 Bra
    296   3     \x{1000}
    297   7   7 Ket
    298  10     End
    299 ------------------------------------------------------------------
    300 
    301 /\x{10000}/8BM
    302 Memory allocation (code space): 12
    303 ------------------------------------------------------------------
    304   0   8 Bra
    305   3     \x{10000}
    306   8   8 Ket
    307  11     End
    308 ------------------------------------------------------------------
    309 
    310 /\x{100000}/8BM
    311 Memory allocation (code space): 12
    312 ------------------------------------------------------------------
    313   0   8 Bra
    314   3     \x{100000}
    315   8   8 Ket
    316  11     End
    317 ------------------------------------------------------------------
    318 
    319 /\x{10ffff}/8BM
    320 Memory allocation (code space): 12
    321 ------------------------------------------------------------------
    322   0   8 Bra
    323   3     \x{10ffff}
    324   8   8 Ket
    325  11     End
    326 ------------------------------------------------------------------
    327 
    328 /\x{110000}/8BM
    329 Failed: character value in \x{} or \o{} is too large at offset 9
    330 
    331 /[\x{ff}]/8BM
    332 Memory allocation (code space): 10
    333 ------------------------------------------------------------------
    334   0   6 Bra
    335   3     \x{ff}
    336   6   6 Ket
    337   9     End
    338 ------------------------------------------------------------------
    339 
    340 /[\x{100}]/8BM
    341 Memory allocation (code space): 10
    342 ------------------------------------------------------------------
    343   0   6 Bra
    344   3     \x{100}
    345   6   6 Ket
    346   9     End
    347 ------------------------------------------------------------------
    348 
    349 /\x80/8BM
    350 Memory allocation (code space): 10
    351 ------------------------------------------------------------------
    352   0   6 Bra
    353   3     \x{80}
    354   6   6 Ket
    355   9     End
    356 ------------------------------------------------------------------
    357 
    358 /\xff/8BM
    359 Memory allocation (code space): 10
    360 ------------------------------------------------------------------
    361   0   6 Bra
    362   3     \x{ff}
    363   6   6 Ket
    364   9     End
    365 ------------------------------------------------------------------
    366 
    367 /\x{0041}\x{2262}\x{0391}\x{002e}/D8M
    368 Memory allocation (code space): 18
    369 ------------------------------------------------------------------
    370   0  14 Bra
    371   3     A\x{2262}\x{391}.
    372  14  14 Ket
    373  17     End
    374 ------------------------------------------------------------------
    375 Capturing subpattern count = 0
    376 Options: utf
    377 First char = 'A'
    378 Need char = '.'
    379     
    380 /\x{D55c}\x{ad6d}\x{C5B4}/D8M 
    381 Memory allocation (code space): 19
    382 ------------------------------------------------------------------
    383   0  15 Bra
    384   3     \x{d55c}\x{ad6d}\x{c5b4}
    385  15  15 Ket
    386  18     End
    387 ------------------------------------------------------------------
    388 Capturing subpattern count = 0
    389 Options: utf
    390 First char = \x{ed}
    391 Need char = \x{b4}
    392 
    393 /\x{65e5}\x{672c}\x{8a9e}/D8M
    394 Memory allocation (code space): 19
    395 ------------------------------------------------------------------
    396   0  15 Bra
    397   3     \x{65e5}\x{672c}\x{8a9e}
    398  15  15 Ket
    399  18     End
    400 ------------------------------------------------------------------
    401 Capturing subpattern count = 0
    402 Options: utf
    403 First char = \x{e6}
    404 Need char = \x{9e}
    405 
    406 /[\x{100}]/8BM
    407 Memory allocation (code space): 10
    408 ------------------------------------------------------------------
    409   0   6 Bra
    410   3     \x{100}
    411   6   6 Ket
    412   9     End
    413 ------------------------------------------------------------------
    414 
    415 /[Z\x{100}]/8BM
    416 Memory allocation (code space): 47
    417 ------------------------------------------------------------------
    418   0  43 Bra
    419   3     [Z\x{100}]
    420  43  43 Ket
    421  46     End
    422 ------------------------------------------------------------------
    423 
    424 /^[\x{100}\E-\Q\E\x{150}]/B8M
    425 Memory allocation (code space): 18
    426 ------------------------------------------------------------------
    427   0  14 Bra
    428   3     ^
    429   4     [\x{100}-\x{150}]
    430  14  14 Ket
    431  17     End
    432 ------------------------------------------------------------------
    433 
    434 /^[\Q\E-\Q\E]/B8M
    435 Memory allocation (code space): 18
    436 ------------------------------------------------------------------
    437   0  14 Bra
    438   3     ^
    439   4     [\x{100}-\x{150}]
    440  14  14 Ket
    441  17     End
    442 ------------------------------------------------------------------
    443 
    444 /^[\Q\E-\Q\E/B8M
    445 Failed: missing terminating ] for character class at offset 15
    446 
    447 /[\p{L}]/BM
    448 Memory allocation (code space): 15
    449 ------------------------------------------------------------------
    450   0  11 Bra
    451   3     [\p{L}]
    452  11  11 Ket
    453  14     End
    454 ------------------------------------------------------------------
    455 
    456 /[\p{^L}]/BM
    457 Memory allocation (code space): 15
    458 ------------------------------------------------------------------
    459   0  11 Bra
    460   3     [\P{L}]
    461  11  11 Ket
    462  14     End
    463 ------------------------------------------------------------------
    464 
    465 /[\P{L}]/BM
    466 Memory allocation (code space): 15
    467 ------------------------------------------------------------------
    468   0  11 Bra
    469   3     [\P{L}]
    470  11  11 Ket
    471  14     End
    472 ------------------------------------------------------------------
    473 
    474 /[\P{^L}]/BM
    475 Memory allocation (code space): 15
    476 ------------------------------------------------------------------
    477   0  11 Bra
    478   3     [\p{L}]
    479  11  11 Ket
    480  14     End
    481 ------------------------------------------------------------------
    482 
    483 /[abc\p{L}\x{0660}]/8BM
    484 Memory allocation (code space): 50
    485 ------------------------------------------------------------------
    486   0  46 Bra
    487   3     [a-c\p{L}\x{660}]
    488  46  46 Ket
    489  49     End
    490 ------------------------------------------------------------------
    491 
    492 /[\p{Nd}]/8BM
    493 Memory allocation (code space): 15
    494 ------------------------------------------------------------------
    495   0  11 Bra
    496   3     [\p{Nd}]
    497  11  11 Ket
    498  14     End
    499 ------------------------------------------------------------------
    500 
    501 /[\p{Nd}+-]+/8BM
    502 Memory allocation (code space): 48
    503 ------------------------------------------------------------------
    504   0  44 Bra
    505   3     [+\-\p{Nd}]++
    506  44  44 Ket
    507  47     End
    508 ------------------------------------------------------------------
    509 
    510 /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8iBM
    511 Memory allocation (code space): 25
    512 ------------------------------------------------------------------
    513   0  21 Bra
    514   3  /i A\x{391}\x{10427}\x{ff3a}\x{1fb0}
    515  21  21 Ket
    516  24     End
    517 ------------------------------------------------------------------
    518 
    519 /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8BM
    520 Memory allocation (code space): 25
    521 ------------------------------------------------------------------
    522   0  21 Bra
    523   3     A\x{391}\x{10427}\x{ff3a}\x{1fb0}
    524  21  21 Ket
    525  24     End
    526 ------------------------------------------------------------------
    527 
    528 /[\x{105}-\x{109}]/8iBM
    529 Memory allocation (code space): 17
    530 ------------------------------------------------------------------
    531   0  13 Bra
    532   3     [\x{104}-\x{109}]
    533  13  13 Ket
    534  16     End
    535 ------------------------------------------------------------------
    536 
    537 /( ( (?(1)0|) )*   )/xBM
    538 Memory allocation (code space): 38
    539 ------------------------------------------------------------------
    540   0  34 Bra
    541   3  28 CBra 1
    542   8     Brazero
    543   9  19 SCBra 2
    544  14   8 Cond
    545  17   1 Cond ref
    546  20     0
    547  22   3 Alt
    548  25  11 Ket
    549  28  19 KetRmax
    550  31  28 Ket
    551  34  34 Ket
    552  37     End
    553 ------------------------------------------------------------------
    554 
    555 /(  (?(1)0|)*   )/xBM
    556 Memory allocation (code space): 30
    557 ------------------------------------------------------------------
    558   0  26 Bra
    559   3  20 CBra 1
    560   8     Brazero
    561   9   8 SCond
    562  12   1 Cond ref
    563  15     0
    564  17   3 Alt
    565  20  11 KetRmax
    566  23  20 Ket
    567  26  26 Ket
    568  29     End
    569 ------------------------------------------------------------------
    570 
    571 /[a]/BM
    572 Memory allocation (code space): 9
    573 ------------------------------------------------------------------
    574   0   5 Bra
    575   3     a
    576   5   5 Ket
    577   8     End
    578 ------------------------------------------------------------------
    579 
    580 /[a]/8BM
    581 Memory allocation (code space): 9
    582 ------------------------------------------------------------------
    583   0   5 Bra
    584   3     a
    585   5   5 Ket
    586   8     End
    587 ------------------------------------------------------------------
    588 
    589 /[\xaa]/BM
    590 Memory allocation (code space): 9
    591 ------------------------------------------------------------------
    592   0   5 Bra
    593   3     \x{aa}
    594   5   5 Ket
    595   8     End
    596 ------------------------------------------------------------------
    597 
    598 /[\xaa]/8BM
    599 Memory allocation (code space): 10
    600 ------------------------------------------------------------------
    601   0   6 Bra
    602   3     \x{aa}
    603   6   6 Ket
    604   9     End
    605 ------------------------------------------------------------------
    606 
    607 /[^a]/BM
    608 Memory allocation (code space): 9
    609 ------------------------------------------------------------------
    610   0   5 Bra
    611   3     [^a]
    612   5   5 Ket
    613   8     End
    614 ------------------------------------------------------------------
    615 
    616 /[^a]/8BM
    617 Memory allocation (code space): 9
    618 ------------------------------------------------------------------
    619   0   5 Bra
    620   3     [^a]
    621   5   5 Ket
    622   8     End
    623 ------------------------------------------------------------------
    624 
    625 /[^\xaa]/BM
    626 Memory allocation (code space): 9
    627 ------------------------------------------------------------------
    628   0   5 Bra
    629   3     [^\x{aa}]
    630   5   5 Ket
    631   8     End
    632 ------------------------------------------------------------------
    633 
    634 /[^\xaa]/8BM
    635 Memory allocation (code space): 10
    636 ------------------------------------------------------------------
    637   0   6 Bra
    638   3     [^\x{aa}]
    639   6   6 Ket
    640   9     End
    641 ------------------------------------------------------------------
    642 
    643 /[^\d]/8WB
    644 ------------------------------------------------------------------
    645   0  11 Bra
    646   3     [^\p{Nd}]
    647  11  11 Ket
    648  14     End
    649 ------------------------------------------------------------------
    650 
    651 /[[:^alpha:][:^cntrl:]]+/8WB
    652 ------------------------------------------------------------------
    653   0  51 Bra
    654   3     [ -~\x80-\xff\P{L}\x{100}-\x{10ffff}]++
    655  51  51 Ket
    656  54     End
    657 ------------------------------------------------------------------
    658 
    659 /[[:^cntrl:][:^alpha:]]+/8WB
    660 ------------------------------------------------------------------
    661   0  51 Bra
    662   3     [ -~\x80-\xff\x{100}-\x{10ffff}\P{L}]++
    663  51  51 Ket
    664  54     End
    665 ------------------------------------------------------------------
    666 
    667 /[[:alpha:]]+/8WB
    668 ------------------------------------------------------------------
    669   0  12 Bra
    670   3     [\p{L}]++
    671  12  12 Ket
    672  15     End
    673 ------------------------------------------------------------------
    674 
    675 /[[:^alpha:]\S]+/8WB
    676 ------------------------------------------------------------------
    677   0  15 Bra
    678   3     [\P{L}\P{Xsp}]++
    679  15  15 Ket
    680  18     End
    681 ------------------------------------------------------------------
    682 
    683 /abc(d|e)(*THEN)x(123(*THEN)4|567(b|q)(*THEN)xx)/B
    684 ------------------------------------------------------------------
    685   0  73 Bra
    686   3     abc
    687   9   7 CBra 1
    688  14     d
    689  16   5 Alt
    690  19     e
    691  21  12 Ket
    692  24     *THEN
    693  25     x
    694  27  14 CBra 2
    695  32     123
    696  38     *THEN
    697  39     4
    698  41  29 Alt
    699  44     567
    700  50   7 CBra 3
    701  55     b
    702  57   5 Alt
    703  60     q
    704  62  12 Ket
    705  65     *THEN
    706  66     xx
    707  70  43 Ket
    708  73  73 Ket
    709  76     End
    710 ------------------------------------------------------------------
    711 
    712 /(((a\2)|(a*)\g<-1>))*a?/B
    713 ------------------------------------------------------------------
    714   0  57 Bra
    715   3     Brazero
    716   4  48 SCBra 1
    717   9  40 Once
    718  12  18 CBra 2
    719  17  10 CBra 3
    720  22     a
    721  24     \2
    722  27  10 Ket
    723  30  16 Alt
    724  33   7 CBra 4
    725  38     a*
    726  40   7 Ket
    727  43  33 Recurse
    728  46  34 Ket
    729  49  40 Ket
    730  52  48 KetRmax
    731  55     a?+
    732  57  57 Ket
    733  60     End
    734 ------------------------------------------------------------------
    735 
    736 /((?+1)(\1))/B
    737 ------------------------------------------------------------------
    738   0  31 Bra
    739   3  25 Once
    740   6  19 CBra 1
    741  11  14 Recurse
    742  14   8 CBra 2
    743  19     \1
    744  22   8 Ket
    745  25  19 Ket
    746  28  25 Ket
    747  31  31 Ket
    748  34     End
    749 ------------------------------------------------------------------
    750 
    751 /.((?2)(?R)\1)()/B
    752 ------------------------------------------------------------------
    753   0  35 Bra
    754   3     Any
    755   4  20 Once
    756   7  14 CBra 1
    757  12  27 Recurse
    758  15   0 Recurse
    759  18     \1
    760  21  14 Ket
    761  24  20 Ket
    762  27   5 CBra 2
    763  32   5 Ket
    764  35  35 Ket
    765  38     End
    766 ------------------------------------------------------------------
    767 
    768 /-- End of testinput11 --/
    769