2

貧弱な正規表現チョップを備えた小さなアシスタントが必要です。URL から 41398 を取得しようとしています。この数値は変数です

http://www.website.com/beta/flips/index/41398_1363874140/friend/756

/ after インデックスまでのすべてを取得する方法を見つけました。

var url      = document.URL;
var myRegexp = /index(.*)/;
var match    = myRegexp.exec(url);

これにより、/41398_1363874140/friend/756 が残ります....

/ と _ の間の数値を取得する正規表現を使用したソリューションはありますか?

私は試した

var url      = document.URL;
var myRegexp = \/(.*?)\_;
var match    = myRegexp.exec(url);

もちろん、「/」が問題です。

4

4 に答える 4

3

常にアンダースコアがあることがわかっている場合は、次を使用できます。

var url      = document.URL;
var myRegexp = /\d+_/;
var match    = myRegexp.exec(url);
于 2013-05-08T18:36:43.713 に答える
1

最初の試合は必要ですか?そうでない場合は、次を直接使用できます。

var url      = document.URL;
var myRegexp = /index\/(.*?)_/;
var match    = myRegexp.exec(url);

まあ、あなたはほとんど近くにいました。アンダースコアはエスケープする必要はありません。

それ以外の場合は、最初の一致を使用できます (上記のコードの最初の 3 行の後にそれらを追加します)。

var myNewRegexp = /\/(.*?)_/;
var NewMatch    = myNewRegexp.exec(match);
于 2013-05-08T18:32:53.933 に答える
1

以下を使用できます。

/\/index\/(\d+)/

これは、最初のグループが番号に一致することを意味します。

于 2013-05-08T18:33:28.700 に答える
1

これは、 number だけに一致する正規表現です(?<=index/)[0-9]*(?=_)。作業している言語については言及していないので、より具体的にするのに役立ちます

于 2013-05-08T18:36:32.977 に答える