When using regular expressions as a part of an API returning named groups is very desirable. As it is now one has to parse the regular expression (with another regular expression?) to find the group names and the match them together with the result. Not a very efficient way of doing things, and rather error prone.<br>
<br>If the re module knows about the groups, as you can retrieve them by name, why not just return their names too?<br><br>I'd like this feature to be included since it is very powerful together with groups. Thanks!<br clear="all">
<br>Cheers,<br>Adam<br>
<br><br><div class="gmail_quote">2008/10/9 Bjorn Gustavsson <span dir="ltr"><<a href="mailto:bgustavsson@gmail.com">bgustavsson@gmail.com</a>></span><br><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">2008/10/7 Tony Arcieri <span dir="ltr"><<a href="mailto:tony@medioh.com" target="_blank">tony@medioh.com</a>></span><br><div class="gmail_quote"><div><div></div><div class="Wj3C7c"><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></div><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>
<br>_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://www.erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://www.erlang.org/mailman/listinfo/erlang-questions</a><br></blockquote></div><br>