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.

Reply via email to