<div dir="ltr">2008/10/7 Tony Arcieri <span dir="ltr"><<a href="mailto:tony@medioh.com">tony@medioh.com</a>></span><br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div dir="ltr">I'm trying to write an API which accepts a regexp with arbitrary named capture groups as input.<br><br>I'm using the re module, and have had success using named subgroups if the names are known ahead of time.  However, I'd like to return a mapping of arbitrary named capture groups from the original regular expression to the matched values.<br>


<br>Consider the following regular expression with named subpatterns:<br><br>"(?<foo>\\w+) (?<bar>\\w+)"<br><br>If this were applied to the string "baz qux" I'd like to return the following:<br>


<br>[{"foo", "baz"}, {"bar", "qux"}]<br><br>However, it looks as if I must provide the names of the capture groups I want returned in the capture tuple I pass to re:run.<br clear="all">


<br>Is there any way to extract the names of the subgroups from a compiled regular expression?  Or is there some option I can pass to re:run that I'm missing which will return a mapping of subgroup names to what they matched?  <br>


</div></blockquote><div><br>There is currently no such option or functionality. It could be added in a future release if it's a general need.<br><br>/Bjorn<br></div></div>-- <br>Björn Gustavsson, Erlang/OTP, Ericsson AB<br>

</div>