| # There are two sorts of patterns in this test. A number of them are |
| # representative patterns whose lengths and offsets are checked. This is just a |
| # doublecheck test to ensure the sizes don't go horribly wrong when something |
| # is changed. The operation of these patterns is checked in other tests. |
| # |
| # This file also contains tests whose output varies with code unit size and/or |
| # link size. Unicode support is required for these tests. There are separate |
| # output files for each code unit size and link size. |
| |
| #pattern fullbincode,memory |
| |
| /((?i)b)/ |
| Memory allocation (code space): 24 |
| ------------------------------------------------------------------ |
| 0 9 Bra |
| 2 5 CBra 1 |
| 5 /i b |
| 7 5 Ket |
| 9 9 Ket |
| 11 End |
| ------------------------------------------------------------------ |
| |
| /(?s)(.*X|^B)/ |
| Memory allocation (code space): 38 |
| ------------------------------------------------------------------ |
| 0 16 Bra |
| 2 7 CBra 1 |
| 5 AllAny* |
| 7 X |
| 9 5 Alt |
| 11 ^ |
| 12 B |
| 14 12 Ket |
| 16 16 Ket |
| 18 End |
| ------------------------------------------------------------------ |
| |
| /(?s:.*X|^B)/ |
| Memory allocation (code space): 36 |
| ------------------------------------------------------------------ |
| 0 15 Bra |
| 2 6 Bra |
| 4 AllAny* |
| 6 X |
| 8 5 Alt |
| 10 ^ |
| 11 B |
| 13 11 Ket |
| 15 15 Ket |
| 17 End |
| ------------------------------------------------------------------ |
| |
| /^[[:alnum:]]/ |
| Memory allocation (code space): 46 |
| ------------------------------------------------------------------ |
| 0 20 Bra |
| 2 ^ |
| 3 [0-9A-Za-z] |
| 20 20 Ket |
| 22 End |
| ------------------------------------------------------------------ |
| |
| /#/Ix |
| Memory allocation (code space): 10 |
| ------------------------------------------------------------------ |
| 0 2 Bra |
| 2 2 Ket |
| 4 End |
| ------------------------------------------------------------------ |
| Capture group count = 0 |
| May match empty string |
| Options: extended |
| Subject length lower bound = 0 |
| |
| /a#/Ix |
| Memory allocation (code space): 14 |
| ------------------------------------------------------------------ |
| 0 4 Bra |
| 2 a |
| 4 4 Ket |
| 6 End |
| ------------------------------------------------------------------ |
| Capture group count = 0 |
| Options: extended |
| First code unit = 'a' |
| Subject length lower bound = 1 |
| |
| /x?+/ |
| Memory allocation (code space): 14 |
| ------------------------------------------------------------------ |
| 0 4 Bra |
| 2 x?+ |
| 4 4 Ket |
| 6 End |
| ------------------------------------------------------------------ |
| |
| /x++/ |
| Memory allocation (code space): 14 |
| ------------------------------------------------------------------ |
| 0 4 Bra |
| 2 x++ |
| 4 4 Ket |
| 6 End |
| ------------------------------------------------------------------ |
| |
| /x{1,3}+/ |
| Memory allocation (code space): 20 |
| ------------------------------------------------------------------ |
| 0 7 Bra |
| 2 x |
| 4 x{0,2}+ |
| 7 7 Ket |
| 9 End |
| ------------------------------------------------------------------ |
| |
| /(x)*+/ |
| Memory allocation (code space): 26 |
| ------------------------------------------------------------------ |
| 0 10 Bra |
| 2 Braposzero |
| 3 5 CBraPos 1 |
| 6 x |
| 8 5 KetRpos |
| 10 10 Ket |
| 12 End |
| ------------------------------------------------------------------ |
| |
| /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/ |
| Memory allocation (code space): 142 |
| ------------------------------------------------------------------ |
| 0 68 Bra |
| 2 ^ |
| 3 63 CBra 1 |
| 6 5 CBra 2 |
| 9 a+ |
| 11 5 Ket |
| 13 21 CBra 3 |
| 16 [ab]+? |
| 34 21 Ket |
| 36 21 CBra 4 |
| 39 [bc]+ |
| 57 21 Ket |
| 59 5 CBra 5 |
| 62 \w*+ |
| 64 5 Ket |
| 66 63 Ket |
| 68 68 Ket |
| 70 End |
| ------------------------------------------------------------------ |
| |
| "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" |
| Memory allocation (code space): 1648 |
| ------------------------------------------------------------------ |
| 0 821 Bra |
| 2 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 |
| 820 \b |
| 821 821 Ket |
| 823 End |
| ------------------------------------------------------------------ |
| |
| "\$\<\.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" |
| Memory allocation (code space): 1628 |
| ------------------------------------------------------------------ |
| 0 811 Bra |
| 2 $<.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 |
| 810 \b |
| 811 811 Ket |
| 813 End |
| ------------------------------------------------------------------ |
| |
| /(a(?1)b)/ |
| Memory allocation (code space): 32 |
| ------------------------------------------------------------------ |
| 0 13 Bra |
| 2 9 CBra 1 |
| 5 a |
| 7 2 Recurse |
| 9 b |
| 11 9 Ket |
| 13 13 Ket |
| 15 End |
| ------------------------------------------------------------------ |
| |
| /(a(?1)+b)/ |
| Memory allocation (code space): 40 |
| ------------------------------------------------------------------ |
| 0 17 Bra |
| 2 13 CBra 1 |
| 5 a |
| 7 4 SBra |
| 9 2 Recurse |
| 11 4 KetRmax |
| 13 b |
| 15 13 Ket |
| 17 17 Ket |
| 19 End |
| ------------------------------------------------------------------ |
| |
| /a(?P<name1>b|c)d(?P<longername2>e)/ |
| Memory allocation (code space): 54 |
| ------------------------------------------------------------------ |
| 0 24 Bra |
| 2 a |
| 4 5 CBra 1 |
| 7 b |
| 9 4 Alt |
| 11 c |
| 13 9 Ket |
| 15 d |
| 17 5 CBra 2 |
| 20 e |
| 22 5 Ket |
| 24 24 Ket |
| 26 End |
| ------------------------------------------------------------------ |
| |
| /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/ |
| Memory allocation (code space): 64 |
| ------------------------------------------------------------------ |
| 0 29 Bra |
| 2 18 Bra |
| 4 a |
| 6 12 CBra 1 |
| 9 c |
| 11 5 CBra 2 |
| 14 d |
| 16 5 Ket |
| 18 12 Ket |
| 20 18 Ket |
| 22 5 CBra 3 |
| 25 a |
| 27 5 Ket |
| 29 29 Ket |
| 31 End |
| ------------------------------------------------------------------ |
| |
| /(?P<a>a)...(?P=a)bbb(?P>a)d/ |
| Memory allocation (code space): 54 |
| ------------------------------------------------------------------ |
| 0 24 Bra |
| 2 5 CBra 1 |
| 5 a |
| 7 5 Ket |
| 9 Any |
| 10 Any |
| 11 Any |
| 12 \1 |
| 14 bbb |
| 20 2 Recurse |
| 22 d |
| 24 24 Ket |
| 26 End |
| ------------------------------------------------------------------ |
| |
| /abc(?C255)de(?C)f/ |
| Memory allocation (code space): 50 |
| ------------------------------------------------------------------ |
| 0 22 Bra |
| 2 abc |
| 8 Callout 255 10 1 |
| 12 de |
| 16 Callout 0 16 1 |
| 20 f |
| 22 22 Ket |
| 24 End |
| ------------------------------------------------------------------ |
| |
| /abcde/auto_callout |
| Memory allocation (code space): 78 |
| ------------------------------------------------------------------ |
| 0 36 Bra |
| 2 Callout 255 0 1 |
| 6 a |
| 8 Callout 255 1 1 |
| 12 b |
| 14 Callout 255 2 1 |
| 18 c |
| 20 Callout 255 3 1 |
| 24 d |
| 26 Callout 255 4 1 |
| 30 e |
| 32 Callout 255 5 0 |
| 36 36 Ket |
| 38 End |
| ------------------------------------------------------------------ |
| |
| /\x{100}/utf |
| Memory allocation (code space): 14 |
| ------------------------------------------------------------------ |
| 0 4 Bra |
| 2 \x{100} |
| 4 4 Ket |
| 6 End |
| ------------------------------------------------------------------ |
| |
| /\x{1000}/utf |
| Memory allocation (code space): 14 |
| ------------------------------------------------------------------ |
| 0 4 Bra |
| 2 \x{1000} |
| 4 4 Ket |
| 6 End |
| ------------------------------------------------------------------ |
| |
| /\x{10000}/utf |
| Memory allocation (code space): 16 |
| ------------------------------------------------------------------ |
| 0 5 Bra |
| 2 \x{10000} |
| 5 5 Ket |
| 7 End |
| ------------------------------------------------------------------ |
| |
| /\x{100000}/utf |
| Memory allocation (code space): 16 |
| ------------------------------------------------------------------ |
| 0 5 Bra |
| 2 \x{100000} |
| 5 5 Ket |
| 7 End |
| ------------------------------------------------------------------ |
| |
| /\x{10ffff}/utf |
| Memory allocation (code space): 16 |
| ------------------------------------------------------------------ |
| 0 5 Bra |
| 2 \x{10ffff} |
| 5 5 Ket |
| 7 End |
| ------------------------------------------------------------------ |
| |
| /\x{110000}/utf |
| Failed: error 134 at offset 9: character code point value in \x{} or \o{} is too large |
| |
| /[\x{ff}]/utf |
| Memory allocation (code space): 14 |
| ------------------------------------------------------------------ |
| 0 4 Bra |
| 2 \x{ff} |
| 4 4 Ket |
| 6 End |
| ------------------------------------------------------------------ |
| |
| /[\x{100}]/utf |
| Memory allocation (code space): 14 |
| ------------------------------------------------------------------ |
| 0 4 Bra |
| 2 \x{100} |
| 4 4 Ket |
| 6 End |
| ------------------------------------------------------------------ |
| |
| /\x80/utf |
| Memory allocation (code space): 14 |
| ------------------------------------------------------------------ |
| 0 4 Bra |
| 2 \x{80} |
| 4 4 Ket |
| 6 End |
| ------------------------------------------------------------------ |
| |
| /\xff/utf |
| Memory allocation (code space): 14 |
| ------------------------------------------------------------------ |
| 0 4 Bra |
| 2 \x{ff} |
| 4 4 Ket |
| 6 End |
| ------------------------------------------------------------------ |
| |
| /\x{0041}\x{2262}\x{0391}\x{002e}/I,utf |
| Memory allocation (code space): 26 |
| ------------------------------------------------------------------ |
| 0 10 Bra |
| 2 A\x{2262}\x{391}. |
| 10 10 Ket |
| 12 End |
| ------------------------------------------------------------------ |
| Capture group count = 0 |
| Options: utf |
| First code unit = 'A' |
| Last code unit = '.' |
| Subject length lower bound = 4 |
| |
| /\x{D55c}\x{ad6d}\x{C5B4}/I,utf |
| Memory allocation (code space): 22 |
| ------------------------------------------------------------------ |
| 0 8 Bra |
| 2 \x{d55c}\x{ad6d}\x{c5b4} |
| 8 8 Ket |
| 10 End |
| ------------------------------------------------------------------ |
| Capture group count = 0 |
| Options: utf |
| First code unit = \x{d55c} |
| Last code unit = \x{c5b4} |
| Subject length lower bound = 3 |
| |
| /\x{65e5}\x{672c}\x{8a9e}/I,utf |
| Memory allocation (code space): 22 |
| ------------------------------------------------------------------ |
| 0 8 Bra |
| 2 \x{65e5}\x{672c}\x{8a9e} |
| 8 8 Ket |
| 10 End |
| ------------------------------------------------------------------ |
| Capture group count = 0 |
| Options: utf |
| First code unit = \x{65e5} |
| Last code unit = \x{8a9e} |
| Subject length lower bound = 3 |
| |
| /[\x{100}]/utf |
| Memory allocation (code space): 14 |
| ------------------------------------------------------------------ |
| 0 4 Bra |
| 2 \x{100} |
| 4 4 Ket |
| 6 End |
| ------------------------------------------------------------------ |
| |
| /[Z\x{100}]/utf |
| Memory allocation (code space): 54 |
| ------------------------------------------------------------------ |
| 0 24 Bra |
| 2 [Z\x{100}] |
| 24 24 Ket |
| 26 End |
| ------------------------------------------------------------------ |
| |
| /^[\x{100}\E-\Q\E\x{150}]/utf |
| Memory allocation (code space): 26 |
| ------------------------------------------------------------------ |
| 0 10 Bra |
| 2 ^ |
| 3 [\x{100}-\x{150}] |
| 10 10 Ket |
| 12 End |
| ------------------------------------------------------------------ |
| |
| /^[\QĀ\E-\QŐ\E]/utf |
| Memory allocation (code space): 26 |
| ------------------------------------------------------------------ |
| 0 10 Bra |
| 2 ^ |
| 3 [\x{100}-\x{150}] |
| 10 10 Ket |
| 12 End |
| ------------------------------------------------------------------ |
| |
| /^[\QĀ\E-\QŐ\E/utf |
| Failed: error 106 at offset 13: missing terminating ] for character class |
| |
| /[\p{L}]/ |
| Memory allocation (code space): 24 |
| ------------------------------------------------------------------ |
| 0 9 Bra |
| 2 [\p{L}] |
| 9 9 Ket |
| 11 End |
| ------------------------------------------------------------------ |
| |
| /[\p{^L}]/ |
| Memory allocation (code space): 24 |
| ------------------------------------------------------------------ |
| 0 9 Bra |
| 2 [\P{L}] |
| 9 9 Ket |
| 11 End |
| ------------------------------------------------------------------ |
| |
| /[\P{L}]/ |
| Memory allocation (code space): 24 |
| ------------------------------------------------------------------ |
| 0 9 Bra |
| 2 [\P{L}] |
| 9 9 Ket |
| 11 End |
| ------------------------------------------------------------------ |
| |
| /[\P{^L}]/ |
| Memory allocation (code space): 24 |
| ------------------------------------------------------------------ |
| 0 9 Bra |
| 2 [\p{L}] |
| 9 9 Ket |
| 11 End |
| ------------------------------------------------------------------ |
| |
| /[abc\p{L}\x{0660}]/utf |
| Memory allocation (code space): 60 |
| ------------------------------------------------------------------ |
| 0 27 Bra |
| 2 [a-c\p{L}\x{660}] |
| 27 27 Ket |
| 29 End |
| ------------------------------------------------------------------ |
| |
| /[\p{Nd}]/utf |
| Memory allocation (code space): 24 |
| ------------------------------------------------------------------ |
| 0 9 Bra |
| 2 [\p{Nd}] |
| 9 9 Ket |
| 11 End |
| ------------------------------------------------------------------ |
| |
| /[\p{Nd}+-]+/utf |
| Memory allocation (code space): 58 |
| ------------------------------------------------------------------ |
| 0 26 Bra |
| 2 [+\-\p{Nd}]++ |
| 26 26 Ket |
| 28 End |
| ------------------------------------------------------------------ |
| |
| /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/i,utf |
| Memory allocation (code space): 32 |
| ------------------------------------------------------------------ |
| 0 13 Bra |
| 2 /i A\x{391}\x{10427}\x{ff3a}\x{1fb0} |
| 13 13 Ket |
| 15 End |
| ------------------------------------------------------------------ |
| |
| /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/utf |
| Memory allocation (code space): 32 |
| ------------------------------------------------------------------ |
| 0 13 Bra |
| 2 A\x{391}\x{10427}\x{ff3a}\x{1fb0} |
| 13 13 Ket |
| 15 End |
| ------------------------------------------------------------------ |
| |
| /[\x{105}-\x{109}]/i,utf |
| Memory allocation (code space): 24 |
| ------------------------------------------------------------------ |
| 0 9 Bra |
| 2 [\x{104}-\x{109}] |
| 9 9 Ket |
| 11 End |
| ------------------------------------------------------------------ |
| |
| /( ( (?(1)0|) )* )/x |
| Memory allocation (code space): 52 |
| ------------------------------------------------------------------ |
| 0 23 Bra |
| 2 19 CBra 1 |
| 5 Brazero |
| 6 13 SCBra 2 |
| 9 6 Cond |
| 11 1 Cond ref |
| 13 0 |
| 15 2 Alt |
| 17 8 Ket |
| 19 13 KetRmax |
| 21 19 Ket |
| 23 23 Ket |
| 25 End |
| ------------------------------------------------------------------ |
| |
| /( (?(1)0|)* )/x |
| Memory allocation (code space): 42 |
| ------------------------------------------------------------------ |
| 0 18 Bra |
| 2 14 CBra 1 |
| 5 Brazero |
| 6 6 SCond |
| 8 1 Cond ref |
| 10 0 |
| 12 2 Alt |
| 14 8 KetRmax |
| 16 14 Ket |
| 18 18 Ket |
| 20 End |
| ------------------------------------------------------------------ |
| |
| /[a]/ |
| Memory allocation (code space): 14 |
| ------------------------------------------------------------------ |
| 0 4 Bra |
| 2 a |
| 4 4 Ket |
| 6 End |
| ------------------------------------------------------------------ |
| |
| /[a]/utf |
| Memory allocation (code space): 14 |
| ------------------------------------------------------------------ |
| 0 4 Bra |
| 2 a |
| 4 4 Ket |
| 6 End |
| ------------------------------------------------------------------ |
| |
| /[\xaa]/ |
| Memory allocation (code space): 14 |
| ------------------------------------------------------------------ |
| 0 4 Bra |
| 2 \x{aa} |
| 4 4 Ket |
| 6 End |
| ------------------------------------------------------------------ |
| |
| /[\xaa]/utf |
| Memory allocation (code space): 14 |
| ------------------------------------------------------------------ |
| 0 4 Bra |
| 2 \x{aa} |
| 4 4 Ket |
| 6 End |
| ------------------------------------------------------------------ |
| |
| /[^a]/ |
| Memory allocation (code space): 14 |
| ------------------------------------------------------------------ |
| 0 4 Bra |
| 2 [^a] |
| 4 4 Ket |
| 6 End |
| ------------------------------------------------------------------ |
| |
| /[^a]/utf |
| Memory allocation (code space): 14 |
| ------------------------------------------------------------------ |
| 0 4 Bra |
| 2 [^a] |
| 4 4 Ket |
| 6 End |
| ------------------------------------------------------------------ |
| |
| /[^\xaa]/ |
| Memory allocation (code space): 14 |
| ------------------------------------------------------------------ |
| 0 4 Bra |
| 2 [^\x{aa}] |
| 4 4 Ket |
| 6 End |
| ------------------------------------------------------------------ |
| |
| /[^\xaa]/utf |
| Memory allocation (code space): 14 |
| ------------------------------------------------------------------ |
| 0 4 Bra |
| 2 [^\x{aa}] |
| 4 4 Ket |
| 6 End |
| ------------------------------------------------------------------ |
| |
| #pattern -memory |
| |
| /[^\d]/utf,ucp |
| ------------------------------------------------------------------ |
| 0 9 Bra |
| 2 [^\p{Nd}] |
| 9 9 Ket |
| 11 End |
| ------------------------------------------------------------------ |
| |
| /[[:^alpha:][:^cntrl:]]+/utf,ucp |
| ------------------------------------------------------------------ |
| 0 13 Bra |
| 2 [\P{L}\P{Cc}]++ |
| 13 13 Ket |
| 15 End |
| ------------------------------------------------------------------ |
| |
| /[[:^cntrl:][:^alpha:]]+/utf,ucp |
| ------------------------------------------------------------------ |
| 0 13 Bra |
| 2 [\P{Cc}\P{L}]++ |
| 13 13 Ket |
| 15 End |
| ------------------------------------------------------------------ |
| |
| /[[:alpha:]]+/utf,ucp |
| ------------------------------------------------------------------ |
| 0 10 Bra |
| 2 [\p{L}]++ |
| 10 10 Ket |
| 12 End |
| ------------------------------------------------------------------ |
| |
| /[[:^alpha:]\S]+/utf,ucp |
| ------------------------------------------------------------------ |
| 0 13 Bra |
| 2 [\P{L}\P{Xsp}]++ |
| 13 13 Ket |
| 15 End |
| ------------------------------------------------------------------ |
| |
| /abc(d|e)(*THEN)x(123(*THEN)4|567(b|q)(*THEN)xx)/ |
| ------------------------------------------------------------------ |
| 0 60 Bra |
| 2 abc |
| 8 5 CBra 1 |
| 11 d |
| 13 4 Alt |
| 15 e |
| 17 9 Ket |
| 19 *THEN |
| 20 x |
| 22 12 CBra 2 |
| 25 123 |
| 31 *THEN |
| 32 4 |
| 34 24 Alt |
| 36 567 |
| 42 5 CBra 3 |
| 45 b |
| 47 4 Alt |
| 49 q |
| 51 9 Ket |
| 53 *THEN |
| 54 xx |
| 58 36 Ket |
| 60 60 Ket |
| 62 End |
| ------------------------------------------------------------------ |
| |
| /(((a\2)|(a*)\g<-1>))*a?/ |
| ------------------------------------------------------------------ |
| 0 35 Bra |
| 2 Brazero |
| 3 28 SCBra 1 |
| 6 12 CBra 2 |
| 9 7 CBra 3 |
| 12 a |
| 14 \2 |
| 16 7 Ket |
| 18 11 Alt |
| 20 5 CBra 4 |
| 23 a* |
| 25 5 Ket |
| 27 20 Recurse |
| 29 23 Ket |
| 31 28 KetRmax |
| 33 a?+ |
| 35 35 Ket |
| 37 End |
| ------------------------------------------------------------------ |
| |
| /((?+1)(\1))/ |
| ------------------------------------------------------------------ |
| 0 16 Bra |
| 2 12 CBra 1 |
| 5 7 Recurse |
| 7 5 CBra 2 |
| 10 \1 |
| 12 5 Ket |
| 14 12 Ket |
| 16 16 Ket |
| 18 End |
| ------------------------------------------------------------------ |
| |
| "(?1)(?#?'){2}(a)" |
| ------------------------------------------------------------------ |
| 0 13 Bra |
| 2 6 Recurse |
| 4 6 Recurse |
| 6 5 CBra 1 |
| 9 a |
| 11 5 Ket |
| 13 13 Ket |
| 15 End |
| ------------------------------------------------------------------ |
| |
| /.((?2)(?R)|\1|$)()/ |
| ------------------------------------------------------------------ |
| 0 24 Bra |
| 2 Any |
| 3 7 CBra 1 |
| 6 19 Recurse |
| 8 0 Recurse |
| 10 4 Alt |
| 12 \1 |
| 14 3 Alt |
| 16 $ |
| 17 14 Ket |
| 19 3 CBra 2 |
| 22 3 Ket |
| 24 24 Ket |
| 26 End |
| ------------------------------------------------------------------ |
| |
| /.((?3)(?R)()(?2)|\1|$)()/ |
| ------------------------------------------------------------------ |
| 0 31 Bra |
| 2 Any |
| 3 14 CBra 1 |
| 6 26 Recurse |
| 8 0 Recurse |
| 10 3 CBra 2 |
| 13 3 Ket |
| 15 10 Recurse |
| 17 4 Alt |
| 19 \1 |
| 21 3 Alt |
| 23 $ |
| 24 21 Ket |
| 26 3 CBra 3 |
| 29 3 Ket |
| 31 31 Ket |
| 33 End |
| ------------------------------------------------------------------ |
| |
| /(?1)()((((((\1++))\x85)+)|))/ |
| ------------------------------------------------------------------ |
| 0 50 Bra |
| 2 4 Recurse |
| 4 3 CBra 1 |
| 7 3 Ket |
| 9 39 CBra 2 |
| 12 32 CBra 3 |
| 15 27 CBra 4 |
| 18 22 CBra 5 |
| 21 15 CBra 6 |
| 24 10 CBra 7 |
| 27 5 Once |
| 29 \1+ |
| 32 5 Ket |
| 34 10 Ket |
| 36 15 Ket |
| 38 \x{85} |
| 40 22 KetRmax |
| 42 27 Ket |
| 44 2 Alt |
| 46 34 Ket |
| 48 39 Ket |
| 50 50 Ket |
| 52 End |
| ------------------------------------------------------------------ |
| |
| # Check the absolute limit on nesting (?| etc. This varies with code unit |
| # width because the workspace is a different number of bytes. It will fail |
| # with link size 2 in 8-bit and 16-bit but not in 32-bit. |
| |
| /(?|(?|(?J:(?|(?x:(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?| |
| ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
| /parens_nest_limit=1000,-fullbincode |
| Failed: error 184 at offset 1504: (?| and/or (?J: or (?x: parentheses are too deeply nested |
| |
| # Use "expand" to create some very long patterns with nested parentheses, in |
| # order to test workspace overflow. Again, this varies with code unit width, |
| # and even when it fails in two modes, the error offset differs. It also varies |
| # with link size - hence multiple tests with different values. |
| |
| /(?'ABC'\[[bar](]{792}*THEN:\[A]{255}\[)]{793}/expand,-fullbincode,parens_nest_limit=1000 |
| |
| /(?'ABC'\[[bar](]{793}*THEN:\[A]{255}\[)]{794}/expand,-fullbincode,parens_nest_limit=1000 |
| |
| /(?'ABC'\[[bar](]{1793}*THEN:\[A]{255}\[)]{1794}/expand,-fullbincode,parens_nest_limit=2000 |
| Failed: error 186 at offset 12820: regular expression is too complicated |
| |
| /(?(1)(?1)){8,}+()/debug |
| ------------------------------------------------------------------ |
| 0 79 Bra |
| 2 70 Once |
| 4 6 Cond |
| 6 1 Cond ref |
| 8 74 Recurse |
| 10 6 Ket |
| 12 6 Cond |
| 14 1 Cond ref |
| 16 74 Recurse |
| 18 6 Ket |
| 20 6 Cond |
| 22 1 Cond ref |
| 24 74 Recurse |
| 26 6 Ket |
| 28 6 Cond |
| 30 1 Cond ref |
| 32 74 Recurse |
| 34 6 Ket |
| 36 6 Cond |
| 38 1 Cond ref |
| 40 74 Recurse |
| 42 6 Ket |
| 44 6 Cond |
| 46 1 Cond ref |
| 48 74 Recurse |
| 50 6 Ket |
| 52 6 Cond |
| 54 1 Cond ref |
| 56 74 Recurse |
| 58 6 Ket |
| 60 10 SBraPos |
| 62 6 SCond |
| 64 1 Cond ref |
| 66 74 Recurse |
| 68 6 Ket |
| 70 10 KetRpos |
| 72 70 Ket |
| 74 3 CBra 1 |
| 77 3 Ket |
| 79 79 Ket |
| 81 End |
| ------------------------------------------------------------------ |
| Capture group count = 1 |
| Max back reference = 1 |
| May match empty string |
| Subject length lower bound = 0 |
| abcd |
| 0: |
| 1: |
| |
| /(?(1)|a(?1)b){2,}+()/debug |
| ------------------------------------------------------------------ |
| 0 43 Bra |
| 2 34 Once |
| 4 4 Cond |
| 6 1 Cond ref |
| 8 8 Alt |
| 10 a |
| 12 38 Recurse |
| 14 b |
| 16 12 Ket |
| 18 16 SBraPos |
| 20 4 SCond |
| 22 1 Cond ref |
| 24 8 Alt |
| 26 a |
| 28 38 Recurse |
| 30 b |
| 32 12 Ket |
| 34 16 KetRpos |
| 36 34 Ket |
| 38 3 CBra 1 |
| 41 3 Ket |
| 43 43 Ket |
| 45 End |
| ------------------------------------------------------------------ |
| Capture group count = 1 |
| Max back reference = 1 |
| May match empty string |
| Subject length lower bound = 0 |
| abcde |
| No match |
| |
| /((?1)(?2)(?3)(?4)(?5)(?6)(?7)(?8)(?9)(?9)(?8)(?7)(?6)(?5)(?4)(?3)(?2)(?1)(?0)){2,}()()()()()()()()()/debug |
| ------------------------------------------------------------------ |
| 0 133 Bra |
| 2 41 CBra 1 |
| 5 2 Recurse |
| 7 88 Recurse |
| 9 93 Recurse |
| 11 98 Recurse |
| 13 103 Recurse |
| 15 108 Recurse |
| 17 113 Recurse |
| 19 118 Recurse |
| 21 123 Recurse |
| 23 123 Recurse |
| 25 118 Recurse |
| 27 113 Recurse |
| 29 108 Recurse |
| 31 103 Recurse |
| 33 98 Recurse |
| 35 93 Recurse |
| 37 88 Recurse |
| 39 2 Recurse |
| 41 0 Recurse |
| 43 41 Ket |
| 45 41 SCBra 1 |
| 48 2 Recurse |
| 50 88 Recurse |
| 52 93 Recurse |
| 54 98 Recurse |
| 56 103 Recurse |
| 58 108 Recurse |
| 60 113 Recurse |
| 62 118 Recurse |
| 64 123 Recurse |
| 66 123 Recurse |
| 68 118 Recurse |
| 70 113 Recurse |
| 72 108 Recurse |
| 74 103 Recurse |
| 76 98 Recurse |
| 78 93 Recurse |
| 80 88 Recurse |
| 82 2 Recurse |
| 84 0 Recurse |
| 86 41 KetRmax |
| 88 3 CBra 2 |
| 91 3 Ket |
| 93 3 CBra 3 |
| 96 3 Ket |
| 98 3 CBra 4 |
| 101 3 Ket |
| 103 3 CBra 5 |
| 106 3 Ket |
| 108 3 CBra 6 |
| 111 3 Ket |
| 113 3 CBra 7 |
| 116 3 Ket |
| 118 3 CBra 8 |
| 121 3 Ket |
| 123 3 CBra 9 |
| 126 3 Ket |
| 128 3 CBra 10 |
| 131 3 Ket |
| 133 133 Ket |
| 135 End |
| ------------------------------------------------------------------ |
| Capture group count = 10 |
| May match empty string |
| Subject length lower bound = 0 |
| |
| /([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)/ |
| Failed: error 114 at offset 509: missing closing parenthesis |
| |
| /([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))/-fullbincode |
| |
| #pattern -fullbincode |
| |
| /\[()]{65535}/expand |
| Failed: error 120 at offset 131070: regular expression is too large |
| |
| # End of testinput8 |