1 # There are two sorts of patterns in this test. A number of them are 2 # representative patterns whose lengths and offsets are checked. This is just a 3 # doublecheck test to ensure the sizes don't go horribly wrong when something 4 # is changed. The operation of these patterns is checked in other tests. 5 # 6 # This file also contains tests whose output varies with code unit size and/or 7 # link size. Unicode support is required for these tests. There are separate 8 # output files for each code unit size and link size. 9 10 #pattern fullbincode,memory 11 12 /((?i)b)/ 13 14 /(?s)(.*X|^B)/ 15 16 /(?s:.*X|^B)/ 17 18 /^[[:alnum:]]/ 19 20 /#/Ix 21 22 /a#/Ix 23 24 /x?+/ 25 26 /x++/ 27 28 /x{1,3}+/ 29 30 /(x)*+/ 31 32 /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/ 33 34 "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" 35 36 "\$\<\.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" 37 38 /(a(?1)b)/ 39 40 /(a(?1)+b)/ 41 42 /a(?P<name1>b|c)d(?P<longername2>e)/ 43 44 /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/ 45 46 /(?P<a>a)...(?P=a)bbb(?P>a)d/ 47 48 /abc(?C255)de(?C)f/ 49 50 /abcde/auto_callout 51 52 /\x{100}/utf 53 54 /\x{1000}/utf 55 56 /\x{10000}/utf 57 58 /\x{100000}/utf 59 60 /\x{10ffff}/utf 61 62 /\x{110000}/utf 63 64 /[\x{ff}]/utf 65 66 /[\x{100}]/utf 67 68 /\x80/utf 69 70 /\xff/utf 71 72 /\x{0041}\x{2262}\x{0391}\x{002e}/I,utf 73 74 /\x{D55c}\x{ad6d}\x{C5B4}/I,utf 75 76 /\x{65e5}\x{672c}\x{8a9e}/I,utf 77 78 /[\x{100}]/utf 79 80 /[Z\x{100}]/utf 81 82 /^[\x{100}\E-\Q\E\x{150}]/utf 83 84 /^[\Q\E-\Q\E]/utf 85 86 /^[\Q\E-\Q\E/utf 87 88 /[\p{L}]/ 89 90 /[\p{^L}]/ 91 92 /[\P{L}]/ 93 94 /[\P{^L}]/ 95 96 /[abc\p{L}\x{0660}]/utf 97 98 /[\p{Nd}]/utf 99 100 /[\p{Nd}+-]+/utf 101 102 /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/i,utf 103 104 /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/utf 105 106 /[\x{105}-\x{109}]/i,utf 107 108 /( ( (?(1)0|) )* )/x 109 110 /( (?(1)0|)* )/x 111 112 /[a]/ 113 114 /[a]/utf 115 116 /[\xaa]/ 117 118 /[\xaa]/utf 119 120 /[^a]/ 121 122 /[^a]/utf 123 124 /[^\xaa]/ 125 126 /[^\xaa]/utf 127 128 #pattern -memory 129 130 /[^\d]/utf,ucp 131 132 /[[:^alpha:][:^cntrl:]]+/utf,ucp 133 134 /[[:^cntrl:][:^alpha:]]+/utf,ucp 135 136 /[[:alpha:]]+/utf,ucp 137 138 /[[:^alpha:]\S]+/utf,ucp 139 140 /abc(d|e)(*THEN)x(123(*THEN)4|567(b|q)(*THEN)xx)/ 141 142 /(((a\2)|(a*)\g<-1>))*a?/ 143 144 /((?+1)(\1))/ 145 146 "(?1)(?#?'){2}(a)" 147 148 /.((?2)(?R)|\1|$)()/ 149 150 /.((?3)(?R)()(?2)|\1|$)()/ 151 152 /(?1)()((((((\1++))\x85)+)|))/ 153 154 # Check the absolute limit on nesting (?| etc. This varies with code unit 155 # width because the workspace is a different number of bytes. It will fail 156 # with link size 2 in 8-bit and 16-bit but not in 32-bit. 157 158 /(?|(?|(?J:(?|(?x:(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?| 159 ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 160 /parens_nest_limit=1000,-fullbincode 161 162 # Use "expand" to create some very long patterns with nested parentheses, in 163 # order to test workspace overflow. Again, this varies with code unit width, 164 # and even with it fails in two modes, the error offset differs. It also varies 165 # with link size - hence multiple tests with different values. 166 167 /(?'ABC'\[[bar](]{105}*THEN:\[A]{255}\[)]{106}/expand,-fullbincode 168 169 /(?'ABC'\[[bar](]{106}*THEN:\[A]{255}\[)]{107}/expand,-fullbincode 170 171 /(?'ABC'\[[bar](]{159}*THEN:\[A]{255}\[)]{160}/expand,-fullbincode 172 173 /(?'ABC'\[[bar](]{199}*THEN:\[A]{255}\[)]{200}/expand,-fullbincode 174 175 /(?'ABC'\[[bar](]{299}*THEN:\[A]{255}\[)]{300}/expand,-fullbincode 176 177 /(?(1)(?1)){8,}+()/debug 178 abcd 179 180 /(?(1)|a(?1)b){2,}+()/debug 181 abcde 182 183 /((?1)(?2)(?3)(?4)(?5)(?6)(?7)(?8)(?9)(?9)(?8)(?7)(?6)(?5)(?4)(?3)(?2)(?1)(?0)){2,}()()()()()()()()()/debug 184 185 /([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([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)/ 186 187 /([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([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 188 189 # End of testinput8 190