Javascript正则表达式捕获

时间:2012-09-20 23:08:33

标签: javascript regex

我确信在堆栈溢出时可能存在类似的东西,但我找不到任何东西,并且对于应该非常简单的事情感到非常沮丧。

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

网址结构:

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文本

1 个答案:

答案 0 :(得分:5)

JavaScript支持使用a string object's match methoda regular-expression object's exec method检索正则表达式捕获组:

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

但是对于你的例子,我几乎想知道使用the string object's split method是否更简单:

var captureThis = url.split(/[/]/)[4];