0

これが重複していたら申し訳ありませんが、すでに3時間検索しましたが、単一のパターンのみを扱っていないものは見つかりませんでした.

URL でサイズ パラメータを使用します (つまり ...media.php?sid=200x100&mid=... 200 は幅、100 は高さです)。他の番号 (UUID など) を含む場合と含まない場合がありますが、このタスクには重要ではありませんが、パターン マッチには影響しないパラメータがあります。

私がする必要があるのは、「sid=####x###」の部分だけを置き換えて一致させることです。### は、1 から 99999 までの範囲の可変長の数値をサポートする必要があります。

私はこれまで多くのパターンを試してきましたが、おそらく誰かがこれを頭の中で知っているのではないかと思うので、すべての試みをリストするつもりはありませんが、私が使用している基本的なコードは次のとおりです。

var oldSid = new RegExp('sid=[0..99999]x[0..99999]');
var newSid = 'sid=500x500';
var newUrl = oldUrl.replace(oldSid, newSid);

空欄を埋めるためにあなたが提供できるどんな助けも大歓迎です!

4

2 に答える 2

2

正規表現を使用sid=[0-9]{1,5}x[0-9]{1,5}してそのような一致を見つけます...

ここでテストします

于 2012-07-03T17:14:06.320 に答える
2

これを使用してください:

var oldSid = new RegExp("sid=\\d{1,5}x\\d{1,5}");

...または(動的正規表現ではないため)これは次のとおりです。

var newUrl = oldUrl.replace(/sid=\d{1,5}x\d{1,5}/, newSid);
于 2012-07-03T17:14:53.743 に答える