So a couple of libraries (Django being the most popular that comes to mind) try to match a string against several regex expressions. I'm wondering if there exists a library to "merge" multiple compiled regex expressions into a single lookup. This could be exposed in a interface like:<div>

<br></div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><div><a href="http://gist.github.com/319905">http://gist.github.com/319905</a></div></div></blockquote><div>

<div><br></div><div>So for an example:</div><div><br></div><div><div><font class="Apple-style-span" face="'courier new', monospace">rd = ReDict()</font></div><div><font class="Apple-style-span" face="'courier new', monospace"><br>

</font></div><div><font class="Apple-style-span" face="'courier new', monospace">rd['^foo$'] = 1</font></div><div><font class="Apple-style-span" face="'courier new', monospace">rd['^bar*$'] = 2</font></div>

<div><font class="Apple-style-span" face="'courier new', monospace">rd['^bar$'] = 3</font></div><div><font class="Apple-style-span" face="'courier new', monospace"><br></font></div><div><font class="Apple-style-span" face="'courier new', monospace">assert rd['foo'] == [1]</font></div>

<div><font class="Apple-style-span" face="'courier new', monospace">assert rd['barrrr'] == [2]</font></div><div><font class="Apple-style-span" face="'courier new', monospace">assert rd['bar'] == [2,3]</font></div>

<div><font class="Apple-style-span" face="'courier new', monospace"><br></font></div><div><font class="Apple-style-span" face="arial, helvetica, sans-serif">The naive implementation I link is obviously inefficient. What would be the easiest way to go about compiling a set of regex-es together, so that they can be matched against a string at the same time? Are there any standard libraries that do this I'm not aware of?</font></div>

<div><font class="Apple-style-span" face="arial, helvetica, sans-serif"><br></font></div><div><font class="Apple-style-span" face="arial, helvetica, sans-serif">Cheers,</font></div><div><font class="Apple-style-span" face="arial, helvetica, sans-serif">Andrey</font></div>

</div></div>