Javascript获取两个符号之间的字符串

时间:2014-09-04 15:24:46

标签: javascript jquery regex

我有以下字符串,我试图检索两个符号之间的字符串

http://mytestdomain.com/temp-param-page-2/?wpv_paged_preload_reach=1&wpv_view_count=1&wpv_post_id=720960&wpv_post_search&wpv-women-clothing[]=coats

我需要在网址的最后wpv-women-clothing[]和最后&之间检索=或任何其他字符串

我应该使用正则表达式还是Javascript / jQuery中的函数已经很适合这个?

由于

4 个答案:

答案 0 :(得分:3)

var str = "http://mytestdomain.com/temp-param-page-2/?wpv_paged_preload_reach=1&wpv_view_count=1&wpv_post_id=720960&wpv_post_search&wpv-women-clothing[]=coats";
var last =str.split('&').pop().split('=')
console.log(last[0]) // wpv-women-clothing[] 

<强> jsFiddle example

在&符号(.split('&'))上拆分字符串,取最后一个(.pop()),然后再次在=(.split('='))上拆分并使用第一个结果{{1 }}

答案 1 :(得分:0)

组索引1包含您想要的输出

\&([^=]*)(?==[^&=]*$)

DEMO

> var re = /\&([^=]*)(?==[^&=]*$)/g;
undefined
> while ((m = re.exec(str)) != null) {
... console.log(m[1]);
... }
wpv_post_search&wpv-women-clothing[]

答案 2 :(得分:0)

.*&(.*?)=.*

这应该这样做。

参见演示。

http://regex101.com/r/lZ5bT3/1

答案 3 :(得分:-1)

你可以尝试:

var String = "some text";
String = $("<div />").html(String).text();

$("#TheDiv").append(String);