删除子字符串前后的每一个

时间:2015-05-27 22:54:59

标签: jquery regex

我想我需要正则表达式,但我的正则表达noobtown。

给出这个字符串:

/MyUrl?query=http://www.domain.com/category/index.jsp%3FcategoryId&bonkers=Upp&this=that

我怎样才能简单地从中获取域:所以删除前面的

/MyURL?query=

然后是包括& bonkers在内的所有内容。基本上只需要没有参数的直接网址,结果看起来像

http://www.domain.com/category/index.jsp%3FcategoryId%3D4414047

对正则表达式一无所知我到目前为止

.*url\?q=(.*)&sa 

但这并不是真的。我正在尝试解析jquery中的字符串,只返回匹配的选择

中的每个URL
$(data).find(".link a").each(function(){
                    console.log($(this).attr('href'));
                    //returns string with garbage before and after
                  });

1 个答案:

答案 0 :(得分:0)

你这样的事情会起作用。您声明要从查询字符串中获取的参数,即Query,然后执行正则表达式,只返回带有该参数的完整查询字符串..然后警报将告诉您它是什么。

  function getQueryStringValue() {
        var Query = "query";
        Query = Query.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
        var regex = new RegExp("[\\?&]" + Query + "=([^&#]*)"),
            results = regex.exec(location.search);
        var QueryString = results === null ? "" :
decodeURIComponent(results[1].replace(/\+/g, " "));
        alert(QueryString);
    }