1

我确信堆栈溢出可能有一些类似的东西,但我找不到任何东西,并且对应该非常简单的东西感到非常沮丧。

我需要使用 javascript 捕获部分 url(类似于 url 重写引擎)。

网址结构:

http://example.com/constant/CAPTURETHIS

http://example.com/constant/CAPTURETHIS/

http://example.com/constant/CAPTURETHIS#noise

http://example.com/constant/CAPTURETHIS/#noise

我只需要返回所有 3 个 senerios 的 CAPTURETHIS 文本

4

1 回答 1

5

JavaScript 支持通过使用字符串对象的match方法正则表达式对象的exec方法来检索正则表达式捕获组:

var captureThis = url.match(/^http:[/][/]example[.]com[/]constant[/]([^/]+)/)[1];
var captureThis = /^http:[/][/]example[.]com[/]constant[/]([^/]+)/.exec(url)[1];

但是对于您的示例,我几乎想知道使用字符串对象的split方法是否更简单:

var captureThis = url.split(/[/]/)[4];
于 2012-09-20T23:11:53.830 回答