# A set of patterns that use anchors in unusual ways, also makes some use of # capturing groups. 13000:/(^)?foo/O 13001:/(^)??foo/O 13002:/(^|)foo/O 13003:/(|^)foo/O 13004:/(^|^)?foo/O 13005:/(^||^)foo/O 13006:/foo($)?/ 13007:/foo($)??/ 13008:/foo($|)/ 13009:/foo(|$)/ 13010:/foo($||$)/ 13011:/foo(\z)?/ 13012:/foo(\z)??/ 13013:/foo(\z|)/ 13014:/foo(|\z)/ 13015:/foo(\z||\z)/ 13016:/(?:^|foo|)foo/O 13017:/(^)*foo/O 13018:/(^)*?foo/O 13019:/(^)+foo/O 13020:/(^)+?foo/O 13021:/(^){1}foo/O # More anchoring tests from the rose anchoring work 13100:/a\Z/siH 13101:/a\Z/ 13102:/\Aa\Z/iH 13103:/\A(\Ab\Z|a)/smi 13104:/(a|b|b$)/ 13105:/(b.|cbd|[dbd]$)/si 13106:/(^h|[qj]|m|a)$/ # Various trailing .* cases 13107:/foobar.*\z/ 13108:/foobar.*\z/sO 13109:/foobar.*\z/m 13110:/foobar.*\z/smO 13111:/foobar.*\Z/ 13112:/foobar.*\Z/s 13113:/foobar.*\Z/m 13114:/foobar.*\Z/sm 13115:/foobar.*$/ 13116:/foobar.*$/s 13117:/foobar.*$/m 13118:/foobar.*$/sm 13119:/foobar.*($|)/ 13120:/foobar.*($|)/s 13121:/foobar.*($|)/m 13122:/foobar.*($|)/sm 13123:/foobar.*(\z)?/ 13124:/foobar.*(\z)?/s 13125:/foobar.*(\z)?/m 13126:/foobar.*(\z)?/sm # Some alternation variants of the above 13127:/(foo|bar).*\z/ 13128:/(foo|bar).*\z/sO 13129:/(foo|bar).*\z/m 13130:/(foo|bar).*\z/smO 13131:/(foo|bar).*\Z/ 13132:/(foo|bar).*\Z/s 13133:/(foo|bar).*\Z/m 13134:/(foo|bar).*\Z/sm 13135:/(foo|bar).*$/ 13136:/(foo|bar).*$/s 13137:/(foo|bar).*$/m 13138:/(foo|bar).*$/sm 13139:/(foo|bar).*($|)/ 13140:/(foo|bar).*($|)/s 13141:/(foo|bar).*($|)/m 13142:/(foo|bar).*($|)/sm 13143:/(foo|bar).*(\z)?/ 13144:/(foo|bar).*(\z)?/s 13145:/(foo|bar).*(\z)?/m 13146:/(foo|bar).*(\z)?/sm # Rose support for .{N,}$ 13147:/abc.+$/s 13148:/abc.{2,}$/s 13149:/abc.{3,}$/s 13150:/abc.{10,}$/s 13151:/abc.{150,}$/s # More bounded and escaped EOD fun 13152:/abc.{2,}\z/s 13153:/abc.{2,5}\z/s 13154:/abc.{2,50}\z/s 13155:/abc.{2,5}$/s 13156:/abc.{2,50}$/s 13157:/abc[^xyz]{2,}\z/s 13158:/abc[^xyz]{2,5}\z/s 13159:/abc[^xyz]{2,50}\z/s 13160:/abc[^xyz]{2,}$/s 13161:/abc[^xyz]{2,5}$/s 13162:/abc[^xyz]{2,50}$/s # ... fun 13163:/.\z/s 13164:/.$/s 13165:/^.+\z/s 13166:/..\z/s 13167:/^.{50}foo.bar/s # Anchored literals 13168:/^(.*\.)?trailer\z/s 13169:/^trailer\z/m 13170:/^(.*\.)?trailer$/s 13171:/^trailer$/m 13172:/\Ap\z|s|\A|n/ 13173:/\Ap\z|s|\A|\Ab|n/ # Bi-anchored, non cyclic outfix 13174:/^\w{200}$/ # Leading anchored dots 13200:/^.foo/sO 13201:/^.{1}foo/sO 13202:/^.{2}foo/sO 13203:/^.{30}foo/sO 13204:/^.{1,30}foo/sO 13205:/^.{20,}foo/sO 13206:/^.{20,30}foo/sO 13207:/^.{0,20}foo/sO 13208:/^.{1,}foo/sO 13209:/^.?foo/sO 13210:/^.+foo/sO 13211:/^.*foo/sO 13212:/^.{4,20}foo|bar/sO 13213:/^(.{4,20}foo)|bar/sO 13214:/^(.{4,20}foo)|^bar/sO 13215:/^.{20,30}[^f][^o][^o]/sO 13216:/^.{0,}foo/sO 13217:/^.{20,30}a/sO 13218:/^[\x00-\xff]+/s 13219:/^..foo/sO 13220:/^..*foo/sO 13221:/^..*.foo/sO 13222:/^.*.foo/sO 13223:/^..+foo/sO 13224:/^..+.foo/sO 13225:/^.+.foo/sO 13226:/..foo/sO 13227:/..*foo/sO 13228:/..*.foo/sO 13229:/.*.foo/sO 13230:/..+foo/sO 13231:/..+.foo/sO 13232:/.+.foo/sO 13233:/(^.*.bar)?foo/sO 13234:/(^...bar)?foo/sO 13235:/((^....*bar)|(.._))foo/s 13236:/^.{0,20}foo[a-z]/sO 13237:/^.{0,20}fo[oO]/sO 13238:/^.(.{0,2}|.{0,2})foo/sO 13240:/(a|aaaa{4,}|^(a|[^a]|a)?.a[^a]*a)$/ 13241:/^.{600,}/s 13242:/.{600,}/s