# 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 : 161 Memory allocation - code portion : 25 ------------------------------------------------------------------ 0 19 Bra 5 9 CBra 1 12 /i b 14 9 Ket 19 19 Ket 24 End ------------------------------------------------------------------ /(?s)(.*X|^B)/ Memory allocation - compiled block : 171 Memory allocation - code portion : 35 ------------------------------------------------------------------ 0 29 Bra 5 11 CBra 1 12 AllAny* 14 X 16 8 Alt 21 ^ 22 B 24 19 Ket 29 29 Ket 34 End ------------------------------------------------------------------ /(?s:.*X|^B)/ Memory allocation - compiled block : 169 Memory allocation - code portion : 33 ------------------------------------------------------------------ 0 27 Bra 5 9 Bra 10 AllAny* 12 X 14 8 Alt 19 ^ 20 B 22 17 Ket 27 27 Ket 32 End ------------------------------------------------------------------ /^[[:alnum:]]/ Memory allocation - compiled block : 181 Memory allocation - code portion : 45 ------------------------------------------------------------------ 0 39 Bra 5 ^ 6 [0-9A-Za-z] 39 39 Ket 44 End ------------------------------------------------------------------ /#/Ix Memory allocation - compiled block : 147 Memory allocation - code portion : 11 ------------------------------------------------------------------ 0 5 Bra 5 5 Ket 10 End ------------------------------------------------------------------ Capture group count = 0 May match empty string Options: extended Subject length lower bound = 0 /a#/Ix Memory allocation - compiled block : 149 Memory allocation - code portion : 13 ------------------------------------------------------------------ 0 7 Bra 5 a 7 7 Ket 12 End ------------------------------------------------------------------ Capture group count = 0 Options: extended First code unit = 'a' Subject length lower bound = 1 /x?+/ Memory allocation - compiled block : 149 Memory allocation - code portion : 13 ------------------------------------------------------------------ 0 7 Bra 5 x?+ 7 7 Ket 12 End ------------------------------------------------------------------ /x++/ Memory allocation - compiled block : 149 Memory allocation - code portion : 13 ------------------------------------------------------------------ 0 7 Bra 5 x++ 7 7 Ket 12 End ------------------------------------------------------------------ /x{1,3}+/ Memory allocation - compiled block : 153 Memory allocation - code portion : 17 ------------------------------------------------------------------ 0 11 Bra 5 x 7 x{0,2}+ 11 11 Ket 16 End ------------------------------------------------------------------ /(x)*+/ Memory allocation - compiled block : 162 Memory allocation - code portion : 26 ------------------------------------------------------------------ 0 20 Bra 5 Braposzero 6 9 CBraPos 1 13 x 15 9 KetRpos 20 20 Ket 25 End ------------------------------------------------------------------ /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/ Memory allocation - compiled block : 280 Memory allocation - code portion : 144 ------------------------------------------------------------------ 0 138 Bra 5 ^ 6 127 CBra 1 13 9 CBra 2 20 a+ 22 9 Ket 27 41 CBra 3 34 [ab]+? 68 41 Ket 73 41 CBra 4 80 [bc]+ 114 41 Ket 119 9 CBra 5 126 \w*+ 128 9 Ket 133 127 Ket 138 138 Ket 143 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 : 966 Memory allocation - code portion : 830 ------------------------------------------------------------------ 0 824 Bra 5 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 823 \b 824 824 Ket 829 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 : 956 Memory allocation - code portion : 820 ------------------------------------------------------------------ 0 814 Bra 5 $<.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 813 \b 814 814 Ket 819 End ------------------------------------------------------------------ /(a(?1)b)/ Memory allocation - compiled block : 168 Memory allocation - code portion : 32 ------------------------------------------------------------------ 0 26 Bra 5 16 CBra 1 12 a 14 5 Recurse 19 b 21 16 Ket 26 26 Ket 31 End ------------------------------------------------------------------ /(a(?1)+b)/ Memory allocation - compiled block : 178 Memory allocation - code portion : 42 ------------------------------------------------------------------ 0 36 Bra 5 26 CBra 1 12 a 14 10 SBra 19 5 Recurse 24 10 KetRmax 29 b 31 26 Ket 36 36 Ket 41 End ------------------------------------------------------------------ /a(?Pb|c)d(?Pe)/ Memory allocation - compiled block : 214 Memory allocation - code portion : 50 ------------------------------------------------------------------ 0 44 Bra 5 a 7 9 CBra 1 14 b 16 7 Alt 21 c 23 16 Ket 28 d 30 9 CBra 2 37 e 39 9 Ket 44 44 Ket 49 End ------------------------------------------------------------------ /(?:a(?Pc(?Pd)))(?Pa)/ Memory allocation - compiled block : 213 Memory allocation - code portion : 65 ------------------------------------------------------------------ 0 59 Bra 5 35 Bra 10 a 12 23 CBra 1 19 c 21 9 CBra 2 28 d 30 9 Ket 35 23 Ket 40 35 Ket 45 9 CBra 3 52 a 54 9 Ket 59 59 Ket 64 End ------------------------------------------------------------------ /(?Pa)...(?P=a)bbb(?P>a)d/ Memory allocation - compiled block : 184 Memory allocation - code portion : 44 ------------------------------------------------------------------ 0 38 Bra 5 9 CBra 1 12 a 14 9 Ket 19 Any 20 Any 21 Any 22 \1 25 bbb 31 5 Recurse 36 d 38 38 Ket 43 End ------------------------------------------------------------------ /abc(?C255)de(?C)f/ Memory allocation - compiled block : 179 Memory allocation - code portion : 43 ------------------------------------------------------------------ 0 37 Bra 5 abc 11 Callout 255 10 1 21 de 25 Callout 0 16 1 35 f 37 37 Ket 42 End ------------------------------------------------------------------ /abcde/auto_callout Memory allocation - compiled block : 217 Memory allocation - code portion : 81 ------------------------------------------------------------------ 0 75 Bra 5 Callout 255 0 1 15 a 17 Callout 255 1 1 27 b 29 Callout 255 2 1 39 c 41 Callout 255 3 1 51 d 53 Callout 255 4 1 63 e 65 Callout 255 5 0 75 75 Ket 80 End ------------------------------------------------------------------ /\x{100}/utf Memory allocation - compiled block : 150 Memory allocation - code portion : 14 ------------------------------------------------------------------ 0 8 Bra 5 \x{100} 8 8 Ket 13 End ------------------------------------------------------------------ /\x{1000}/utf Memory allocation - compiled block : 151 Memory allocation - code portion : 15 ------------------------------------------------------------------ 0 9 Bra 5 \x{1000} 9 9 Ket 14 End ------------------------------------------------------------------ /\x{10000}/utf Memory allocation - compiled block : 152 Memory allocation - code portion : 16 ------------------------------------------------------------------ 0 10 Bra 5 \x{10000} 10 10 Ket 15 End ------------------------------------------------------------------ /\x{100000}/utf Memory allocation - compiled block : 152 Memory allocation - code portion : 16 ------------------------------------------------------------------ 0 10 Bra 5 \x{100000} 10 10 Ket 15 End ------------------------------------------------------------------ /\x{10ffff}/utf Memory allocation - compiled block : 152 Memory allocation - code portion : 16 ------------------------------------------------------------------ 0 10 Bra 5 \x{10ffff} 10 10 Ket 15 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 : 150 Memory allocation - code portion : 14 ------------------------------------------------------------------ 0 8 Bra 5 \x{ff} 8 8 Ket 13 End ------------------------------------------------------------------ /[\x{100}]/utf Memory allocation - compiled block : 150 Memory allocation - code portion : 14 ------------------------------------------------------------------ 0 8 Bra 5 \x{100} 8 8 Ket 13 End ------------------------------------------------------------------ /\x80/utf Memory allocation - compiled block : 150 Memory allocation - code portion : 14 ------------------------------------------------------------------ 0 8 Bra 5 \x{80} 8 8 Ket 13 End ------------------------------------------------------------------ /\xff/utf Memory allocation - compiled block : 150 Memory allocation - code portion : 14 ------------------------------------------------------------------ 0 8 Bra 5 \x{ff} 8 8 Ket 13 End ------------------------------------------------------------------ /\x{0041}\x{2262}\x{0391}\x{002e}/I,utf Memory allocation - compiled block : 158 Memory allocation - code portion : 22 ------------------------------------------------------------------ 0 16 Bra 5 A\x{2262}\x{391}. 16 16 Ket 21 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 : 159 Memory allocation - code portion : 23 ------------------------------------------------------------------ 0 17 Bra 5 \x{d55c}\x{ad6d}\x{c5b4} 17 17 Ket 22 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 : 159 Memory allocation - code portion : 23 ------------------------------------------------------------------ 0 17 Bra 5 \x{65e5}\x{672c}\x{8a9e} 17 17 Ket 22 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 : 150 Memory allocation - code portion : 14 ------------------------------------------------------------------ 0 8 Bra 5 \x{100} 8 8 Ket 13 End ------------------------------------------------------------------ /[Z\x{100}]/utf Memory allocation - compiled block : 189 Memory allocation - code portion : 53 ------------------------------------------------------------------ 0 47 Bra 5 [Z\x{100}] 47 47 Ket 52 End ------------------------------------------------------------------ /^[\x{100}\E-\Q\E\x{150}]/utf Memory allocation - compiled block : 160 Memory allocation - code portion : 24 ------------------------------------------------------------------ 0 18 Bra 5 ^ 6 [\x{100}-\x{150}] 18 18 Ket 23 End ------------------------------------------------------------------ /^[\QĀ\E-\QŐ\E]/utf Memory allocation - compiled block : 160 Memory allocation - code portion : 24 ------------------------------------------------------------------ 0 18 Bra 5 ^ 6 [\x{100}-\x{150}] 18 18 Ket 23 End ------------------------------------------------------------------ /^[\QĀ\E-\QŐ\E/utf Failed: error 106 at offset 15: missing terminating ] for character class /[\p{L}]/ Memory allocation - compiled block : 157 Memory allocation - code portion : 21 ------------------------------------------------------------------ 0 15 Bra 5 [\p{L}] 15 15 Ket 20 End ------------------------------------------------------------------ /[\p{^L}]/ Memory allocation - compiled block : 157 Memory allocation - code portion : 21 ------------------------------------------------------------------ 0 15 Bra 5 [\P{L}] 15 15 Ket 20 End ------------------------------------------------------------------ /[\P{L}]/ Memory allocation - compiled block : 157 Memory allocation - code portion : 21 ------------------------------------------------------------------ 0 15 Bra 5 [\P{L}] 15 15 Ket 20 End ------------------------------------------------------------------ /[\P{^L}]/ Memory allocation - compiled block : 157 Memory allocation - code portion : 21 ------------------------------------------------------------------ 0 15 Bra 5 [\p{L}] 15 15 Ket 20 End ------------------------------------------------------------------ /[abc\p{L}\x{0660}]/utf Memory allocation - compiled block : 192 Memory allocation - code portion : 56 ------------------------------------------------------------------ 0 50 Bra 5 [a-c\p{L}\x{660}] 50 50 Ket 55 End ------------------------------------------------------------------ /[\p{Nd}]/utf Memory allocation - compiled block : 157 Memory allocation - code portion : 21 ------------------------------------------------------------------ 0 15 Bra 5 [\p{Nd}] 15 15 Ket 20 End ------------------------------------------------------------------ /[\p{Nd}+-]+/utf Memory allocation - compiled block : 190 Memory allocation - code portion : 54 ------------------------------------------------------------------ 0 48 Bra 5 [+\-\p{Nd}]++ 48 48 Ket 53 End ------------------------------------------------------------------ /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/i,utf Memory allocation - compiled block : 165 Memory allocation - code portion : 29 ------------------------------------------------------------------ 0 23 Bra 5 /i A\x{391}\x{10427}\x{ff3a}\x{1fb0} 23 23 Ket 28 End ------------------------------------------------------------------ /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/utf Memory allocation - compiled block : 165 Memory allocation - code portion : 29 ------------------------------------------------------------------ 0 23 Bra 5 A\x{391}\x{10427}\x{ff3a}\x{1fb0} 23 23 Ket 28 End ------------------------------------------------------------------ /[\x{105}-\x{109}]/i,utf Memory allocation - compiled block : 159 Memory allocation - code portion : 23 ------------------------------------------------------------------ 0 17 Bra 5 [\x{104}-\x{109}] 17 17 Ket 22 End ------------------------------------------------------------------ /( ( (?(1)0|) )* )/x Memory allocation - compiled block : 192 Memory allocation - code portion : 56 ------------------------------------------------------------------ 0 50 Bra 5 40 CBra 1 12 Brazero 13 27 SCBra 2 20 10 Cond 25 1 Cond ref 28 0 30 5 Alt 35 15 Ket 40 27 KetRmax 45 40 Ket 50 50 Ket 55 End ------------------------------------------------------------------ /( (?(1)0|)* )/x Memory allocation - compiled block : 180 Memory allocation - code portion : 44 ------------------------------------------------------------------ 0 38 Bra 5 28 CBra 1 12 Brazero 13 10 SCond 18 1 Cond ref 21 0 23 5 Alt 28 15 KetRmax 33 28 Ket 38 38 Ket 43 End ------------------------------------------------------------------ /[a]/ Memory allocation - compiled block : 149 Memory allocation - code portion : 13 ------------------------------------------------------------------ 0 7 Bra 5 a 7 7 Ket 12 End ------------------------------------------------------------------ /[a]/utf Memory allocation - compiled block : 149 Memory allocation - code portion : 13 ------------------------------------------------------------------ 0 7 Bra 5 a 7 7 Ket 12 End ------------------------------------------------------------------ /[\xaa]/ Memory allocation - compiled block : 149 Memory allocation - code portion : 13 ------------------------------------------------------------------ 0 7 Bra 5 \x{aa} 7 7 Ket 12 End ------------------------------------------------------------------ /[\xaa]/utf Memory allocation - compiled block : 150 Memory allocation - code portion : 14 ------------------------------------------------------------------ 0 8 Bra 5 \x{aa} 8 8 Ket 13 End ------------------------------------------------------------------ /[^a]/ Memory allocation - compiled block : 149 Memory allocation - code portion : 13 ------------------------------------------------------------------ 0 7 Bra 5 [^a] 7 7 Ket 12 End ------------------------------------------------------------------ /[^a]/utf Memory allocation - compiled block : 149 Memory allocation - code portion : 13 ------------------------------------------------------------------ 0 7 Bra 5 [^a] 7 7 Ket 12 End ------------------------------------------------------------------ /[^\xaa]/ Memory allocation - compiled block : 149 Memory allocation - code portion : 13 ------------------------------------------------------------------ 0 7 Bra 5 [^\x{aa}] 7 7 Ket 12 End ------------------------------------------------------------------ /[^\xaa]/utf Memory allocation - compiled block : 150 Memory allocation - code portion : 14 ------------------------------------------------------------------ 0 8 Bra 5 [^\x{aa}] 8 8 Ket 13 End ------------------------------------------------------------------ #pattern -memory /[^\d]/utf,ucp ------------------------------------------------------------------ 0 15 Bra 5 [^\p{Nd}] 15 15 Ket 20 End ------------------------------------------------------------------ /[[:^alpha:][:^cntrl:]]+/utf,ucp ------------------------------------------------------------------ 0 19 Bra 5 [\P{L}\P{Cc}]++ 19 19 Ket 24 End ------------------------------------------------------------------ /[[:^cntrl:][:^alpha:]]+/utf,ucp ------------------------------------------------------------------ 0 19 Bra 5 [\P{Cc}\P{L}]++ 19 19 Ket 24 End ------------------------------------------------------------------ /[[:alpha:]]+/utf,ucp ------------------------------------------------------------------ 0 16 Bra 5 [\p{L}]++ 16 16 Ket 21 End ------------------------------------------------------------------ /[[:^alpha:]\S]+/utf,ucp ------------------------------------------------------------------ 0 19 Bra 5 [\P{L}\P{Xsp}]++ 19 19 Ket 24 End ------------------------------------------------------------------ /abc(d|e)(*THEN)x(123(*THEN)4|567(b|q)(*THEN)xx)/ ------------------------------------------------------------------ 0 93 Bra 5 abc 11 9 CBra 1 18 d 20 7 Alt 25 e 27 16 Ket 32 *THEN 33 x 35 16 CBra 2 42 123 48 *THEN 49 4 51 37 Alt 56 567 62 9 CBra 3 69 b 71 7 Alt 76 q 78 16 Ket 83 *THEN 84 xx 88 53 Ket 93 93 Ket 98 End ------------------------------------------------------------------ /(((a\2)|(a*)\g<-1>))*a?/ ------------------------------------------------------------------ 0 73 Bra 5 Brazero 6 60 SCBra 1 13 24 CBra 2 20 12 CBra 3 27 a 29 \2 32 12 Ket 37 24 Alt 42 9 CBra 4 49 a* 51 9 Ket 56 42 Recurse 61 48 Ket 66 60 KetRmax 71 a?+ 73 73 Ket 78 End ------------------------------------------------------------------ /((?+1)(\1))/ ------------------------------------------------------------------ 0 37 Bra 5 27 CBra 1 12 17 Recurse 17 10 CBra 2 24 \1 27 10 Ket 32 27 Ket 37 37 Ket 42 End ------------------------------------------------------------------ "(?1)(?#?'){2}(a)" ------------------------------------------------------------------ 0 29 Bra 5 15 Recurse 10 15 Recurse 15 9 CBra 1 22 a 24 9 Ket 29 29 Ket 34 End ------------------------------------------------------------------ /.((?2)(?R)|\1|$)()/ ------------------------------------------------------------------ 0 54 Bra 5 Any 6 17 CBra 1 13 42 Recurse 18 0 Recurse 23 8 Alt 28 \1 31 6 Alt 36 $ 37 31 Ket 42 7 CBra 2 49 7 Ket 54 54 Ket 59 End ------------------------------------------------------------------ /.((?3)(?R)()(?2)|\1|$)()/ ------------------------------------------------------------------ 0 71 Bra 5 Any 6 34 CBra 1 13 59 Recurse 18 0 Recurse 23 7 CBra 2 30 7 Ket 35 23 Recurse 40 8 Alt 45 \1 48 6 Alt 53 $ 54 48 Ket 59 7 CBra 3 66 7 Ket 71 71 Ket 76 End ------------------------------------------------------------------ /(?1)()((((((\1++))\x85)+)|))/ ------------------------------------------------------------------ 0 115 Bra 5 10 Recurse 10 7 CBra 1 17 7 Ket 22 88 CBra 2 29 71 CBra 3 36 59 CBra 4 43 47 CBra 5 50 33 CBra 6 57 21 CBra 7 64 9 Once 69 \1+ 73 9 Ket 78 21 Ket 83 33 Ket 88 \x{85} 90 47 KetRmax 95 59 Ket 100 5 Alt 105 76 Ket 110 88 Ket 115 115 Ket 120 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 181 Bra 5 159 Once 10 13 Cond 15 1 Cond ref 18 169 Recurse 23 13 Ket 28 13 Cond 33 1 Cond ref 36 169 Recurse 41 13 Ket 46 13 Cond 51 1 Cond ref 54 169 Recurse 59 13 Ket 64 13 Cond 69 1 Cond ref 72 169 Recurse 77 13 Ket 82 13 Cond 87 1 Cond ref 90 169 Recurse 95 13 Ket 100 13 Cond 105 1 Cond ref 108 169 Recurse 113 13 Ket 118 13 Cond 123 1 Cond ref 126 169 Recurse 131 13 Ket 136 23 SBraPos 141 13 SCond 146 1 Cond ref 149 169 Recurse 154 13 Ket 159 23 KetRpos 164 159 Ket 169 7 CBra 1 176 7 Ket 181 181 Ket 186 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 91 Bra 5 69 Once 10 8 Cond 15 1 Cond ref 18 14 Alt 23 a 25 79 Recurse 30 b 32 22 Ket 37 32 SBraPos 42 8 SCond 47 1 Cond ref 50 14 Alt 55 a 57 79 Recurse 62 b 64 22 Ket 69 32 KetRpos 74 69 Ket 79 7 CBra 1 86 7 Ket 91 91 Ket 96 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 327 Bra 5 102 CBra 1 12 5 Recurse 17 219 Recurse 22 231 Recurse 27 243 Recurse 32 255 Recurse 37 267 Recurse 42 279 Recurse 47 291 Recurse 52 303 Recurse 57 303 Recurse 62 291 Recurse 67 279 Recurse 72 267 Recurse 77 255 Recurse 82 243 Recurse 87 231 Recurse 92 219 Recurse 97 5 Recurse 102 0 Recurse 107 102 Ket 112 102 SCBra 1 119 5 Recurse 124 219 Recurse 129 231 Recurse 134 243 Recurse 139 255 Recurse 144 267 Recurse 149 279 Recurse 154 291 Recurse 159 303 Recurse 164 303 Recurse 169 291 Recurse 174 279 Recurse 179 267 Recurse 184 255 Recurse 189 243 Recurse 194 231 Recurse 199 219 Recurse 204 5 Recurse 209 0 Recurse 214 102 KetRmax 219 7 CBra 2 226 7 Ket 231 7 CBra 3 238 7 Ket 243 7 CBra 4 250 7 Ket 255 7 CBra 5 262 7 Ket 267 7 CBra 6 274 7 Ket 279 7 CBra 7 286 7 Ket 291 7 CBra 8 298 7 Ket 303 7 CBra 9 310 7 Ket 315 7 CBra 10 322 7 Ket 327 327 Ket 332 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