On Thu, 07 Aug 2014 10:22:37 -0700, H. S. Teoh via Digitalmars-d-learn wrote:
> > So basically you have a file containing regex patterns, and you want to > find the longest match among them? > // Longer patterns match first patterns.sort!((a,b) => a.length > > b.length); > > // Build regex string regexStr = "%((%(%c%))%||%)".format (patterns); > auto re = regex(regexStr); This only works if the patterns are simple literals. E.g. the pattern 'a +' might match a longer sequence than 'aaa'. If you're out for the longest possible match, iteratively testing each pattern is probably the way to go.