0

この文字列に適用される正規表現 (PHP から Javascript、Node.js に移植):

/users/:uid/posts/:pid
/users/:uid
/messages/:mid

上記の文字列には、次のスラッシュまで (「:」記号の後に) 引数が含まれています。これらを文字列の正規表現に置き換えます。そして、最終的には次のようになります。

/users/([a-zA-Z0-9\-\_]+)/posts/([a-zA-Z0-9\-\_]+)

そのため、ルーティングのすべての引数を正規表現文字列に置き換える必要があります。これを実現するために次のコードを使用します。

var fixedRoute = route[url].replace(/\\\:[a-zA-Z0-9\_\-]+/, '([a-zA-Z0-9\-\_]+)');

出力は同じで、文字列は置き換えられません。誰でもこの正規表現で私を助けることができますか?

どうもありがとう

4

1 に答える 1

1

キャプチャ グループを忘れており、後方参照です。

'hihi-foobar'.replace(/foo(bar)/i, $1); のようになります。
'hihi-bar' をレンダリングします。

更新(上記のコメントに基づく):

.replace(/:[upm]id/ig, ([a-zA-Z0-9\-\_]+));
于 2012-07-31T00:08:39.923 に答える