Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从另一个字符串中提取字符串_Javascript_Regex - Fatal编程技术网

Javascript 如何从另一个字符串中提取字符串

Javascript 如何从另一个字符串中提取字符串,javascript,regex,Javascript,Regex,假设有以下字符串: http://192.168.56.101:4567/compose?p=/topic/3/werwerwerwer 我需要提取这个: /topic/3/werwerwerwer 最后我必须得到3分!任何人都可以帮我吗?当字符串是URL,p是您尝试检索的参数值时,您可以这样得到它: var string = 'http://192.168.56.101:4567/compose?p=/topic/3/werwerwerwer' function get(name, lin

假设有以下字符串:

http://192.168.56.101:4567/compose?p=/topic/3/werwerwerwer
我需要提取这个:

/topic/3/werwerwerwer

最后我必须得到3分!任何人都可以帮我吗?

当字符串是URL,p是您尝试检索的参数值时,您可以这样得到它:

var string = 'http://192.168.56.101:4567/compose?p=/topic/3/werwerwerwer'
function get(name, link){
   if(name=(new RegExp('[?&]' + encodeURIComponent(name) + '=([^&]*)')).exec(link))
      return decodeURIComponent(name[1]);
}

var theValueOfp = get('p',string);

这应该会让你的工作顺利进行。调用getParam后,只需应用正则表达式

/**
*获取查询字符串的值
*@param{String}param获取值的字段
*/
var getParam=函数(字段,url){
//此正则表达式将第一个参数与给定名称匹配并返回
//进入组#1值
var reg=new RegExp('[?&]'+field+'=([^&.]*));
var string=reg.exec(url);
返回字符串?字符串[1]:空;
};
var p=getParam(“p”http://192.168.56.101:4567/compose?p=/topic/3/werwerwerwer")
如果(p!=null){
var myRegexp=/^\/\w+\/(\d+)\/.//;//组#1将提取该数字
var match=myRegexp.exec(p);
警报(匹配[1]);//3

}
发布您的尝试。字符串的结构是否始终相同?i、 e.相同的斜杠和所有。如果是这样,您可以针对
/
执行丑陋的字符串搜索,但它可能不是非常可重用或模块化的。查看
yourStr.split('/')
以及
parseInt()
,它们可能具有可用价值。