2

嗨,我有以下正则表达式和值

2> re:run("first second", "^(?<foo>\\w+) (?<bar>\\w+)$", [{capture, [foo, bar], list}]).
{match,["first","second"]}
3> 

在这里,我将 foo 与“first”匹配,将 bar 与“second”匹配。问题出在我的应用程序(url 映射器)中,我不知道会有多少命名子模式以及它们的名称。所以我希望他们匹配类似的东西

2> re:magic_run("first second", "^(?<foo>\\w+) (?<bar>\\w+)$" ).
{match,[{foo, "first"},{bar, "second"}]}

我关心的不是输出格式。我希望能够将值与子模式名称匹配。有没有办法将值与子模式配对?

4

1 回答 1

0

如果您的字符串不是正则,请不要使用正则表达式。特别是在你的情况下,我强烈建议使用某种 String.split() 方法(从未编写过 Erlang,但我认为有人可能已经实现了这个)。

于 2013-01-29T14:34:33.987 回答