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 に答える