jQuery中有一个等价的PHP的`preg_replace()`?

说我有以下内容:

 

这条路径可以是任何东西,我们基本上想要将“pic.jpg作为变量。

目前我们这样做:

 var first_img = $("#thumbnail-area li:first").find("img").attr("title"); 

first_img变量设置为图像src,但是我们想要在PHP中进行preg匹配,以获取“pic.jpg”。

这必须正常工作,所以路径可以是: folder/foo/bar/x982j/second822.jpg并且它返回second822.jpg

我怎样才能做到这一点?

你可以使用类似PHP的preg_replace() replace() (它也接受一个PCRE,有一些限制,比如没看后面)……

 str.replace(/.*\//, '') 

jsFiddle 。

或者,您可以使用……

 str.split('/').pop(); 

jsFiddle 。

这里没有必要使用jQuery; Javascript本身支持正则表达式,因此jQuery不是答案的一部分。

Javascript的正则表达式替换函数简称为.replace() ,并且是字符串类的一个方法。 您可以按如下方式使用它:

 var mystring = 'this is a string'; mystring.replace(/is a/,'might be a'); //mystring is now equal to 'this might be a string'. 

这应该足以让你开始。 由于您在问题中引用了preg_replace() ,我假设您已经知道如何使用正则表达式,而不需要详细讨论如何解决您的具体示例。

这里的工作示例: http : //jsfiddle.net/jkeyes/sxx3T/

 var re = new RegExp(".*\/(.*)$"); var src="folder/foo/bar/x982j/second822.jpg"; var m = re.exec(src); alert(m[1]); // first group