# 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 - compiled block : 157 Memory allocation - code portion : 21 ------------------------------------------------------------------ 0 16 Bra 4 8 CBra 1 10 /i b 12 8 Ket 16 16 Ket 20 End ------------------------------------------------------------------ /(?s)(.*X|^B)/ Memory allocation - compiled block : 166 Memory allocation - code portion : 30 ------------------------------------------------------------------ 0 25 Bra 4 10 CBra 1 10 AllAny* 12 X 14 7 Alt 18 ^ 19 B 21 17 Ket 25 25 Ket 29 End ------------------------------------------------------------------ /(?s:.*X|^B)/ Memory allocation - compiled block : 164 Memory allocation - code portion : 28 ------------------------------------------------------------------ 0 23 Bra 4 8 Bra 8 AllAny* 10 X 12 7 Alt 16 ^ 17 B 19 15 Ket 23 23 Ket 27 End ------------------------------------------------------------------ /^[[:alnum:]]/ Memory allocation - compiled block : 179 Memory allocation - code portion : 43 ------------------------------------------------------------------ 0 38 Bra 4 ^ 5 [0-9A-Za-z] 38 38 Ket 42 End ------------------------------------------------------------------ /#/Ix Memory allocation - compiled block : 145 Memory allocation - code portion : 9 ------------------------------------------------------------------ 0 4 Bra 4 4 Ket 8 End ------------------------------------------------------------------ Capture group count = 0 May match empty string Options: extended Subject length lower bound = 0 /a#/Ix Memory allocation - compiled block : 147 Memory allocation - code portion : 11 ------------------------------------------------------------------ 0 6 Bra 4 a 6 6 Ket 10 End ------------------------------------------------------------------ Capture group count = 0 Options: extended First code unit = 'a' Subject length lower bound = 1 /x?+/ Memory allocation - compiled block : 147 Memory allocation - code portion : 11 ------------------------------------------------------------------ 0 6 Bra 4 x?+ 6 6 Ket 10 End ------------------------------------------------------------------ /x++/ Memory allocation - compiled block : 147 Memory allocation - code portion : 11 ------------------------------------------------------------------ 0 6 Bra 4 x++ 6 6 Ket 10 End ------------------------------------------------------------------ /x{1,3}+/ Memory allocation - compiled block : 151 Memory allocation - code portion : 15 ------------------------------------------------------------------ 0 10 Bra 4 x 6 x{0,2}+ 10 10 Ket 14 End ------------------------------------------------------------------ /(x)*+/ Memory allocation - compiled block : 158 Memory allocation - code portion : 22 ------------------------------------------------------------------ 0 17 Bra 4 Braposzero 5 8 CBraPos 1 11 x 13 8 KetRpos 17 17 Ket 21 End ------------------------------------------------------------------ /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/ Memory allocation - compiled block : 268 Memory allocation - code portion : 132 ------------------------------------------------------------------ 0 127 Bra 4 ^ 5 118 CBra 1 11 8 CBra 2 17 a+ 19 8 Ket 23 40 CBra 3 29 [ab]+? 63 40 Ket 67 40 CBra 4 73 [bc]+ 107 40 Ket 111 8 CBra 5 117 \w*+ 119 8 Ket 123 118 Ket 127 127 Ket 131 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\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 - compiled block : 964 Memory allocation - code portion : 828 ------------------------------------------------------------------ 0 823 Bra 4 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[KDDqmj;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 822 \b 823 823 Ket 827 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\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 - compiled block : 954 Memory allocation - code portion : 818 ------------------------------------------------------------------ 0 813 Bra 4 $<.X+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;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 812 \b 813 813 Ket 817 End ------------------------------------------------------------------ /(a(?1)b)/ Memory allocation - compiled block : 163 Memory allocation - code portion : 27 ------------------------------------------------------------------ 0 22 Bra 4 14 CBra 1 10 a 12 4 Recurse 16 b 18 14 Ket 22 22 Ket 26 End ------------------------------------------------------------------ /(a(?1)+b)/ Memory allocation - compiled block : 171 Memory allocation - code portion : 35 ------------------------------------------------------------------ 0 30 Bra 4 22 CBra 1 10 a 12 8 SBra 16 4 Recurse 20 8 KetRmax 24 b 26 22 Ket 30 30 Ket 34 End ------------------------------------------------------------------ /a(?Pb|c)d(?Pe)/ Memory allocation - compiled block : 207 Memory allocation - code portion : 43 ------------------------------------------------------------------ 0 38 Bra 4 a 6 8 CBra 1 12 b 14 6 Alt 18 c 20 14 Ket 24 d 26 8 CBra 2 32 e 34 8 Ket 38 38 Ket 42 End ------------------------------------------------------------------ /(?:a(?Pc(?Pd)))(?Pa)/ Memory allocation - compiled block : 203 Memory allocation - code portion : 55 ------------------------------------------------------------------ 0 50 Bra 4 30 Bra 8 a 10 20 CBra 1 16 c 18 8 CBra 2 24 d 26 8 Ket 30 20 Ket 34 30 Ket 38 8 CBra 3 44 a 46 8 Ket 50 50 Ket 54 End ------------------------------------------------------------------ /(?Pa)...(?P=a)bbb(?P>a)d/ Memory allocation - compiled block : 179 Memory allocation - code portion : 39 ------------------------------------------------------------------ 0 34 Bra 4 8 CBra 1 10 a 12 8 Ket 16 Any 17 Any 18 Any 19 \1 22 bbb 28 4 Recurse 32 d 34 34 Ket 38 End ------------------------------------------------------------------ /abc(?C255)de(?C)f/ Memory allocation - compiled block : 173 Memory allocation - code portion : 37 ------------------------------------------------------------------ 0 32 Bra 4 abc 10 Callout 255 10 1 18 de 22 Callout 0 16 1 30 f 32 32 Ket 36 End ------------------------------------------------------------------ /abcde/auto_callout Memory allocation - compiled block : 203 Memory allocation - code portion : 67 ------------------------------------------------------------------ 0 62 Bra 4 Callout 255 0 1 12 a 14 Callout 255 1 1 22 b 24 Callout 255 2 1 32 c 34 Callout 255 3 1 42 d 44 Callout 255 4 1 52 e 54 Callout 255 5 0 62 62 Ket 66 End ------------------------------------------------------------------ /\x{100}/utf Memory allocation - compiled block : 148 Memory allocation - code portion : 12 ------------------------------------------------------------------ 0 7 Bra 4 \x{100} 7 7 Ket 11 End ------------------------------------------------------------------ /\x{1000}/utf Memory allocation - compiled block : 149 Memory allocation - code portion : 13 ------------------------------------------------------------------ 0 8 Bra 4 \x{1000} 8 8 Ket 12 End ------------------------------------------------------------------ /\x{10000}/utf Memory allocation - compiled block : 150 Memory allocation - code portion : 14 ------------------------------------------------------------------ 0 9 Bra 4 \x{10000} 9 9 Ket 13 End ------------------------------------------------------------------ /\x{100000}/utf Memory allocation - compiled block : 150 Memory allocation - code portion : 14 ------------------------------------------------------------------ 0 9 Bra 4 \x{100000} 9 9 Ket 13 End ------------------------------------------------------------------ /\x{10ffff}/utf Memory allocation - compiled block : 150 Memory allocation - code portion : 14 ------------------------------------------------------------------ 0 9 Bra 4 \x{10ffff} 9 9 Ket 13 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 - compiled block : 148 Memory allocation - code portion : 12 ------------------------------------------------------------------ 0 7 Bra 4 \x{ff} 7 7 Ket 11 End ------------------------------------------------------------------ /[\x{100}]/utf Memory allocation - compiled block : 148 Memory allocation - code portion : 12 ------------------------------------------------------------------ 0 7 Bra 4 \x{100} 7 7 Ket 11 End ------------------------------------------------------------------ /\x80/utf Memory allocation - compiled block : 148 Memory allocation - code portion : 12 ------------------------------------------------------------------ 0 7 Bra 4 \x{80} 7 7 Ket 11 End ------------------------------------------------------------------ /\xff/utf Memory allocation - compiled block : 148 Memory allocation - code portion : 12 ------------------------------------------------------------------ 0 7 Bra 4 \x{ff} 7 7 Ket 11 End ------------------------------------------------------------------ /\x{0041}\x{2262}\x{0391}\x{002e}/I,utf Memory allocation - compiled block : 156 Memory allocation - code portion : 20 ------------------------------------------------------------------ 0 15 Bra 4 A\x{2262}\x{391}. 15 15 Ket 19 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 - compiled block : 157 Memory allocation - code portion : 21 ------------------------------------------------------------------ 0 16 Bra 4 \x{d55c}\x{ad6d}\x{c5b4} 16 16 Ket 20 End ------------------------------------------------------------------ Capture group count = 0 Options: utf First code unit = \xed Last code unit = \xb4 Subject length lower bound = 3 /\x{65e5}\x{672c}\x{8a9e}/I,utf Memory allocation - compiled block : 157 Memory allocation - code portion : 21 ------------------------------------------------------------------ 0 16 Bra 4 \x{65e5}\x{672c}\x{8a9e} 16 16 Ket 20 End ------------------------------------------------------------------ Capture group count = 0 Options: utf First code unit = \xe6 Last code unit = \x9e Subject length lower bound = 3 /[\x{100}]/utf Memory allocation - compiled block : 148 Memory allocation - code portion : 12 ------------------------------------------------------------------ 0 7 Bra 4 \x{100} 7 7 Ket 11 End ------------------------------------------------------------------ /[Z\x{100}]/utf Memory allocation - compiled block : 186 Memory allocation - code portion : 50 ------------------------------------------------------------------ 0 45 Bra 4 [Z\x{100}] 45 45 Ket 49 End ------------------------------------------------------------------ /^[\x{100}\E-\Q\E\x{150}]/utf Memory allocation - compiled block : 157 Memory allocation - code portion : 21 ------------------------------------------------------------------ 0 16 Bra 4 ^ 5 [\x{100}-\x{150}] 16 16 Ket 20 End ------------------------------------------------------------------ /^[\QĀ\E-\QŐ\E]/utf Memory allocation - compiled block : 157 Memory allocation - code portion : 21 ------------------------------------------------------------------ 0 16 Bra 4 ^ 5 [\x{100}-\x{150}] 16 16 Ket 20 End ------------------------------------------------------------------ /^[\QĀ\E-\QŐ\E/utf Failed: error 106 at offset 15: missing terminating ] for character class /[\p{L}]/ Memory allocation - compiled block : 154 Memory allocation - code portion : 18 ------------------------------------------------------------------ 0 13 Bra 4 [\p{L}] 13 13 Ket 17 End ------------------------------------------------------------------ /[\p{^L}]/ Memory allocation - compiled block : 154 Memory allocation - code portion : 18 ------------------------------------------------------------------ 0 13 Bra 4 [\P{L}] 13 13 Ket 17 End ------------------------------------------------------------------ /[\P{L}]/ Memory allocation - compiled block : 154 Memory allocation - code portion : 18 ------------------------------------------------------------------ 0 13 Bra 4 [\P{L}] 13 13 Ket 17 End ------------------------------------------------------------------ /[\P{^L}]/ Memory allocation - compiled block : 154 Memory allocation - code portion : 18 ------------------------------------------------------------------ 0 13 Bra 4 [\p{L}] 13 13 Ket 17 End ------------------------------------------------------------------ /[abc\p{L}\x{0660}]/utf Memory allocation - compiled block : 189 Memory allocation - code portion : 53 ------------------------------------------------------------------ 0 48 Bra 4 [a-c\p{L}\x{660}] 48 48 Ket 52 End ------------------------------------------------------------------ /[\p{Nd}]/utf Memory allocation - compiled block : 154 Memory allocation - code portion : 18 ------------------------------------------------------------------ 0 13 Bra 4 [\p{Nd}] 13 13 Ket 17 End ------------------------------------------------------------------ /[\p{Nd}+-]+/utf Memory allocation - compiled block : 187 Memory allocation - code portion : 51 ------------------------------------------------------------------ 0 46 Bra 4 [+\-\p{Nd}]++ 46 46 Ket 50 End ------------------------------------------------------------------ /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/i,utf Memory allocation - compiled block : 163 Memory allocation - code portion : 27 ------------------------------------------------------------------ 0 22 Bra 4 /i A\x{391}\x{10427}\x{ff3a}\x{1fb0} 22 22 Ket 26 End ------------------------------------------------------------------ /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/utf Memory allocation - compiled block : 163 Memory allocation - code portion : 27 ------------------------------------------------------------------ 0 22 Bra 4 A\x{391}\x{10427}\x{ff3a}\x{1fb0} 22 22 Ket 26 End ------------------------------------------------------------------ /[\x{105}-\x{109}]/i,utf Memory allocation - compiled block : 156 Memory allocation - code portion : 20 ------------------------------------------------------------------ 0 15 Bra 4 [\x{104}-\x{109}] 15 15 Ket 19 End ------------------------------------------------------------------ /( ( (?(1)0|) )* )/x Memory allocation - compiled block : 183 Memory allocation - code portion : 47 ------------------------------------------------------------------ 0 42 Bra 4 34 CBra 1 10 Brazero 11 23 SCBra 2 17 9 Cond 21 1 Cond ref 24 0 26 4 Alt 30 13 Ket 34 23 KetRmax 38 34 Ket 42 42 Ket 46 End ------------------------------------------------------------------ /( (?(1)0|)* )/x Memory allocation - compiled block : 173 Memory allocation - code portion : 37 ------------------------------------------------------------------ 0 32 Bra 4 24 CBra 1 10 Brazero 11 9 SCond 15 1 Cond ref 18 0 20 4 Alt 24 13 KetRmax 28 24 Ket 32 32 Ket 36 End ------------------------------------------------------------------ /[a]/ Memory allocation - compiled block : 147 Memory allocation - code portion : 11 ------------------------------------------------------------------ 0 6 Bra 4 a 6 6 Ket 10 End ------------------------------------------------------------------ /[a]/utf Memory allocation - compiled block : 147 Memory allocation - code portion : 11 ------------------------------------------------------------------ 0 6 Bra 4 a 6 6 Ket 10 End ------------------------------------------------------------------ /[\xaa]/ Memory allocation - compiled block : 147 Memory allocation - code portion : 11 ------------------------------------------------------------------ 0 6 Bra 4 \x{aa} 6 6 Ket 10 End ------------------------------------------------------------------ /[\xaa]/utf Memory allocation - compiled block : 148 Memory allocation - code portion : 12 ------------------------------------------------------------------ 0 7 Bra 4 \x{aa} 7 7 Ket 11 End ------------------------------------------------------------------ /[^a]/ Memory allocation - compiled block : 147 Memory allocation - code portion : 11 ------------------------------------------------------------------ 0 6 Bra 4 [^a] 6 6 Ket 10 End ------------------------------------------------------------------ /[^a]/utf Memory allocation - compiled block : 147 Memory allocation - code portion : 11 ------------------------------------------------------------------ 0 6 Bra 4 [^a] 6 6 Ket 10 End ------------------------------------------------------------------ /[^\xaa]/ Memory allocation - compiled block : 147 Memory allocation - code portion : 11 ------------------------------------------------------------------ 0 6 Bra 4 [^\x{aa}] 6 6 Ket 10 End ------------------------------------------------------------------ /[^\xaa]/utf Memory allocation - compiled block : 148 Memory allocation - code portion : 12 ------------------------------------------------------------------ 0 7 Bra 4 [^\x{aa}] 7 7 Ket 11 End ------------------------------------------------------------------ #pattern -memory /[^\d]/utf,ucp ------------------------------------------------------------------ 0 13 Bra 4 [^\p{Nd}] 13 13 Ket 17 End ------------------------------------------------------------------ /[[:^alpha:][:^cntrl:]]+/utf,ucp ------------------------------------------------------------------ 0 17 Bra 4 [\P{L}\P{Cc}]++ 17 17 Ket 21 End ------------------------------------------------------------------ /[[:^cntrl:][:^alpha:]]+/utf,ucp ------------------------------------------------------------------ 0 17 Bra 4 [\P{Cc}\P{L}]++ 17 17 Ket 21 End ------------------------------------------------------------------ /[[:alpha:]]+/utf,ucp ------------------------------------------------------------------ 0 14 Bra 4 [\p{L}]++ 14 14 Ket 18 End ------------------------------------------------------------------ /[[:^alpha:]\S]+/utf,ucp ------------------------------------------------------------------ 0 17 Bra 4 [\P{L}\P{Xsp}]++ 17 17 Ket 21 End ------------------------------------------------------------------ /abc(d|e)(*THEN)x(123(*THEN)4|567(b|q)(*THEN)xx)/ ------------------------------------------------------------------ 0 83 Bra 4 abc 10 8 CBra 1 16 d 18 6 Alt 22 e 24 14 Ket 28 *THEN 29 x 31 15 CBra 2 37 123 43 *THEN 44 4 46 33 Alt 50 567 56 8 CBra 3 62 b 64 6 Alt 68 q 70 14 Ket 74 *THEN 75 xx 79 48 Ket 83 83 Ket 87 End ------------------------------------------------------------------ /(((a\2)|(a*)\g<-1>))*a?/ ------------------------------------------------------------------ 0 62 Bra 4 Brazero 5 51 SCBra 1 11 21 CBra 2 17 11 CBra 3 23 a 25 \2 28 11 Ket 32 20 Alt 36 8 CBra 4 42 a* 44 8 Ket 48 36 Recurse 52 41 Ket 56 51 KetRmax 60 a?+ 62 62 Ket 66 End ------------------------------------------------------------------ /((?+1)(\1))/ ------------------------------------------------------------------ 0 31 Bra 4 23 CBra 1 10 14 Recurse 14 9 CBra 2 20 \1 23 9 Ket 27 23 Ket 31 31 Ket 35 End ------------------------------------------------------------------ "(?1)(?#?'){2}(a)" ------------------------------------------------------------------ 0 24 Bra 4 12 Recurse 8 12 Recurse 12 8 CBra 1 18 a 20 8 Ket 24 24 Ket 28 End ------------------------------------------------------------------ /.((?2)(?R)|\1|$)()/ ------------------------------------------------------------------ 0 45 Bra 4 Any 5 14 CBra 1 11 35 Recurse 15 0 Recurse 19 7 Alt 23 \1 26 5 Alt 30 $ 31 26 Ket 35 6 CBra 2 41 6 Ket 45 45 Ket 49 End ------------------------------------------------------------------ /.((?3)(?R)()(?2)|\1|$)()/ ------------------------------------------------------------------ 0 59 Bra 4 Any 5 28 CBra 1 11 49 Recurse 15 0 Recurse 19 6 CBra 2 25 6 Ket 29 19 Recurse 33 7 Alt 37 \1 40 5 Alt 44 $ 45 40 Ket 49 6 CBra 3 55 6 Ket 59 59 Ket 63 End ------------------------------------------------------------------ /(?1)()((((((\1++))\x85)+)|))/ ------------------------------------------------------------------ 0 96 Bra 4 8 Recurse 8 6 CBra 1 14 6 Ket 18 74 CBra 2 24 60 CBra 3 30 50 CBra 4 36 40 CBra 5 42 28 CBra 6 48 18 CBra 7 54 8 Once 58 \1+ 62 8 Ket 66 18 Ket 70 28 Ket 74 \x{85} 76 40 KetRmax 80 50 Ket 84 4 Alt 88 64 Ket 92 74 Ket 96 96 Ket 100 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 # 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 150 Bra 4 132 Once 8 11 Cond 12 1 Cond ref 15 140 Recurse 19 11 Ket 23 11 Cond 27 1 Cond ref 30 140 Recurse 34 11 Ket 38 11 Cond 42 1 Cond ref 45 140 Recurse 49 11 Ket 53 11 Cond 57 1 Cond ref 60 140 Recurse 64 11 Ket 68 11 Cond 72 1 Cond ref 75 140 Recurse 79 11 Ket 83 11 Cond 87 1 Cond ref 90 140 Recurse 94 11 Ket 98 11 Cond 102 1 Cond ref 105 140 Recurse 109 11 Ket 113 19 SBraPos 117 11 SCond 121 1 Cond ref 124 140 Recurse 128 11 Ket 132 19 KetRpos 136 132 Ket 140 6 CBra 1 146 6 Ket 150 150 Ket 154 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 76 Bra 4 58 Once 8 7 Cond 12 1 Cond ref 15 12 Alt 19 a 21 66 Recurse 25 b 27 19 Ket 31 27 SBraPos 35 7 SCond 39 1 Cond ref 42 12 Alt 46 a 48 66 Recurse 52 b 54 19 Ket 58 27 KetRpos 62 58 Ket 66 6 CBra 1 72 6 Ket 76 76 Ket 80 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 266 Bra 4 82 CBra 1 10 4 Recurse 14 176 Recurse 18 186 Recurse 22 196 Recurse 26 206 Recurse 30 216 Recurse 34 226 Recurse 38 236 Recurse 42 246 Recurse 46 246 Recurse 50 236 Recurse 54 226 Recurse 58 216 Recurse 62 206 Recurse 66 196 Recurse 70 186 Recurse 74 176 Recurse 78 4 Recurse 82 0 Recurse 86 82 Ket 90 82 SCBra 1 96 4 Recurse 100 176 Recurse 104 186 Recurse 108 196 Recurse 112 206 Recurse 116 216 Recurse 120 226 Recurse 124 236 Recurse 128 246 Recurse 132 246 Recurse 136 236 Recurse 140 226 Recurse 144 216 Recurse 148 206 Recurse 152 196 Recurse 156 186 Recurse 160 176 Recurse 164 4 Recurse 168 0 Recurse 172 82 KetRmax 176 6 CBra 2 182 6 Ket 186 6 CBra 3 192 6 Ket 196 6 CBra 4 202 6 Ket 206 6 CBra 5 212 6 Ket 216 6 CBra 6 222 6 Ket 226 6 CBra 7 232 6 Ket 236 6 CBra 8 242 6 Ket 246 6 CBra 9 252 6 Ket 256 6 CBra 10 262 6 Ket 266 266 Ket 270 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 # End of testinput8