正则表达式模式匹配字符串中的维度

时间:2012-07-03 17:10:36

标签: javascript regex

我很抱歉,如果这是重复的,但我已经搜索了3个小时,但找不到任何不涉及单一模式的内容。

我在URL中使用维度参数(即... media.php?sid = 200x100& mid = ...其中200是宽度,100是高度)。还有其他参数可能/可能不包括其他数字(即UUID)但对此任务不重要但不应影响模式匹配。

我需要做的是匹配'sid = ### x ###'部分才能替换它。 ###应支持1到99999之间的可变长度数字。

到目前为止,我已经尝试了很多模式,并怀疑有人可能会知道这一点,所以我不会列出我的所有尝试,但这里是我正在使用的基本代码:< / p>

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

非常感谢您提供填写空白的任何帮助!

2 个答案:

答案 0 :(得分:2)

使用正则表达式sid=[0-9]{1,5}x[0-9]{1,5}查找此类匹配...

测试here

答案 1 :(得分: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);