0

我想使用正则表达式从我从网站获得的网络响应中提取 ID 值。

这是具有所需 id 值的行:

SONET.globalSettings = $.extend(SONET.globalSettings, {"esc_my_persona":"1234566","esc_my_player":"1234567","esc_my_nucleus":"123456677","esc_my_platform":"cem_ea_id"}

我需要获取 esc_my_nuclues 的值...即:123456677。

请帮忙?

4

2 回答 2

1

你可以做

string regex=@"esc_my_nucleus"":""(\d+)";
string val=Regex.Match(input,regex,RegexOptions.Ignorecase).Groups[1].Value;
于 2013-01-24T11:13:43.780 回答
1

假设您使用的是 ASP.NET 并且 JavaScript 库正在生成 HTTP GET,那么名称-值对应该位于 URL 的查询部分。因此:

var val = HttpContext.Request.QueryString["esc_my_nucleus"];

如果 JavaScript 正在执行 HTTP POST,那么您需要从请求正文中提取

var val = HttpContext.Request.Form["esc_my_nucleus"];

或者使用HttpContext.Request.Params结合了上述两者。

但是,了解服务器端框架(WebForms、MVC 还是其他什么?)以及 JavaScript 如何表示为 HTTP 请求将提供更好的答案。

注意。这些都不需要正则表达式:即使您自己解析 URL,正则表达式也不太可能是正确的答案(URL 可以包含的内容太灵活,太容易打开安全漏洞)。

于 2013-01-24T11:23:15.563 回答