>백엔드 개발 >PHP 튜토리얼 >正则如何匹配Theme/Home/images/logo.jpg的logo.jpg?

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

WBOY
WBOY원래의
2016-06-06 20:34:411416검색

如题
.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?

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.