Home  >  Article  >  Backend Development  >  正则如何匹配Theme/Home/images/logo.jpg的logo.jpg?

正则如何匹配Theme/Home/images/logo.jpg的logo.jpg?

WBOY
WBOYOriginal
2016-06-06 20:34:411365browse

如题
.jpg前面的文件名可能数字字母下划线
有朋友回答用\w+\.jpg,可以达到效果。另一种思路呢,匹配到一个斜杠后面的值?正则表达式要如何写?

回复内容:

如题
.jpg前面的文件名可能数字字母下划线
有朋友回答用\w+\.jpg,可以达到效果。另一种思路呢,匹配到一个斜杠后面的值?正则表达式要如何写?

正则: \w+\.jpg$
字符串函数: strrchr($str, '/')

如果不用正则的话,可以用basename()

这个很难吗?为什么都那么复杂?

<code>var reg = /[^/]*$/
</code>

我想多了,大家不要理我。

我觉得可以这样

<code>var regex = /(?:[^\/]*\/)(\w+\.jpg)/;

var str = "Theme/Home/images/logo.jpg";

regex.exec(str)
//["images/logo.jpg", "logo.jpg"]
</code>

/(?:[^\/]*\/)(\w+\.jpg)/,其中(?:)是不捕获分组,(\w+\.jpg)是捕获分组。
regex.exec(str)的返回结果中,第一个数组元素是整体匹配的字符串,第二个元素是第一个捕获分组匹配到的内容。
正则如何匹配Theme/Home/images/logo.jpg的logo.jpg?

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn