4

我应该在这个正则表达式中添加什么来停止在“/stopHere”处的搜索,并且只返回它在该字符串之前找到的内容?

var string = "http://website.com/#!/goodText=hello/hello//stopHere=badtext";

var reg = string.match(/goodText=.*\/stopHere/);

这捕获了["goodText=hello/hello/hello/stopHere"],那么我将如何使它排除“/stopHere”?

谢谢!

4

1 回答 1

3

不知道这是否是最好的方法,但发现了一种叫做Positive Lookahead的东西:

var string = "http://website.com/#!/goodText=hello/hello//stopHere=badtext";    
var reg = string.match(/goodText=.*(?=\/stopHere)/);
// returns: goodText=hello/hello/

基本上,如果我放在(?=regex)最后,它会在发现时停止!

于 2013-06-02T21:55:50.127 回答