1

我正在尝试从带有正则表达式的字符串中提取一个数字,因为我被告知这将是我想要做的最好的方法。

这是字符串:

http://domain.com/uploads/2011/09/1142_GF-757-S-white.jpg&h=208&w=347&zc=1&q=90&a=c&s=&f=&cc=&ct=

我正在尝试从字符串中的(高度)中提取 208 。所以我知道我必须在表达式中寻找“&h =”,但我不知道在那之后该怎么做。我怎样才能在那个和下一个“&”之间进行匹配,但也不包括它们......

谢谢..

4

2 回答 2

1

正则表达式匹配h包含整数值的 url 参数。

[&?]h=(\d+)

Javascript:

var match = /[&?]h=(\d+)/.exec(url_string);
alert(match[1]);

了解更多关于正则表达式的信息。

于 2012-08-18T16:16:05.517 回答
0

要获取整个h=xxxx参数,您可以使用这个通用函数(您可以在其他地方重用它以用于其他目的)并将所需的密钥传递给它:

function getParameterFromURL(url, key) {
    var re = new RegExp("[&?]" + key + "=([^&]*)");
    var matches = url.match(re);
    if (matches) {
        return(matches[1]);
    }
    return(null);
}


var url = "http://domain.com/uploads/2011/09/1142_GF-757-S-white.jpg&h=208&w=347&zc=1&q=90&a=c&s=&f=&cc=&ct=";
var parm = getParameterFromURL(url, "h");

有关工作演示,请参阅http://jsfiddle.net/jfriend00/86MEy/ 。

于 2012-08-18T16:32:56.890 回答