如何将特定url与JavaScript RegExp进行匹配

How to match specific url with JavaScript RegExp

本文关键字:RegExp JavaScript url      更新时间:2023-09-26

我正在尝试使用RegExp:匹配此部分url

/l.php?u=http%3A%2F%2Fwww.transmoto.com.au%2Fpublish%2Fnews%2F14614708%2FBopping%2C-Styke-and-Waters-to-lead-Team-Australia-at-MXoN&h=5AQEDldxs&s=1

理想情况下,我需要匹配"u"值并将其转换为正确的url(即用:替换%3A,用/替换%2F),但我很乐意只匹配整个表达式。

我尝试过很多RegExp组合,但都没有成功。

尝试:

var match = url.match(/u=([^&]+)/);
/* Alerts http%3A%2F%2Fwww.transmoto.com.au%2Fpublish%2Fnews%2F14614708
   %2FBopping%2C-Styke-and-Waters-to-lead-Team-Australia-at-MXoN */
alert(match[1]);
/* Alerts http://www.transmoto.com.au/publish/news/14614708/Bopping,-Styke
  -and-Waters-to-lead-Team-Australia-at-MXoN */
alert(decodeURIComponent(match[1]);
var url = '/l.php?u=http%3A%2F%2Fwww.transmoto.com.au%2Fpublish%2Fnews%2F14614708%2FBopping%2C-Styke-and-Waters-to-lead-Team-Australia-at-MXoN&h=5AQEDldxs&s=1';
var re = url.match(/'?(?:|.*?&)u=([^&]+)/);

这是一个jsFiddle。