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

时间:2011-10-06 11:40:53

标签: javascript jquery regex

说我有以下内容:

<img src="http://www.site.com/folder/pic.jpg">

这条路径可能是任何东西,我们基本上想要将“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

我该怎么做?

3 个答案:

答案 0 :(得分:20)

您可以使用replace(),就像PHP的preg_replace()一样(它也接受PCRE,但有一些限制,例如无后顾之处)......

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

jsFiddle

或者,你可以使用......

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

jsFiddle

答案 1 :(得分:5)

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

Javascript的regex替换函数简称为.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(),我假设您已经知道如何使用正则表达式,而不需要详细讨论如何解决您的具体示例。

答案 2 :(得分:1)

这里的工作示例: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