javascript - 寻找一个正则表达式来解析JS的参数字符串

标签 javascript regex

我找不到从查询字符串部分获取参数值的正则表达式:

我需要将参数名称发送到方法并获取参数值作为字符串的结果,例如 “p=1&qp=10”。 我想出了以下内容:

function getParamValue(name) {

  var regex_str = "[&]" + name + "=([^&]*)";

  var regex = new RegExp(regex_str);

  var results = regex.exec(my_query_string);
  // check if result found and return results[1]

}

如果 name = 'p',我的 regex_str 现在不起作用。如果我将 regex_str 更改为

var regex_str = name + "=([^&]*)";

它可以返回参数'qp'的值,参数name = 'p'

你能帮我用正则表达式从 '&' 之后或从字符串的开头搜索参数名称的开头吗?

最佳答案

这可能会起作用,具体取决于您是否分离了参数部分。

var regex_str = "(?:^|\&)" + name + "=([^&]*)";
or
var regex_str = "(?:\&|\?)" + name + "=([^&]*)";

关于javascript - 寻找一个正则表达式来解析JS的参数字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10537260/

相关文章:

javascript - React HOC 返回一个匿名 _class

javascript - React Native Expo - 停留在 "downloading javascript bundle"

javascript - JavaScript 中的图形操作

Javascriptalert()函数歧义

python - 用于分段的正则表达式 - 将单词拆分为语素或词缀

c# - CefSharp JavaScript 注入(inject)

javascript - "\/\/"在 Sublime 3 中的 "Search and Replace"期间消失

javascript - 排除正则表达式模式中仅由制表符组成的空格

c++ - 用于类 python 函数参数解析的正则表达式

regex - 用户名的正则表达式稍微复杂