扫码关注官方订阅号
如题 .jpg前面的文件名可能数字字母下划线 有朋友回答用\w+\.jpg,可以达到效果。另一种思路呢,匹配到一个斜杠后面的值?正则表达式要如何写?
\w+\.jpg
小伙看你根骨奇佳,潜力无限,来学PHP伐。
正则: \w+\.jpg$ 字符串函数: strrchr($str, '/')
\w+\.jpg$
strrchr($str, '/')
如果不用正则的话,可以用basename()
这个很难吗?为什么都那么复杂?
var reg = /[^/]*$/
我想多了,大家不要理我。
我觉得可以这样
var regex = /(?:[^\/]*\/)(\w+\.jpg)/; var str = "Theme/Home/images/logo.jpg"; regex.exec(str) //["images/logo.jpg", "logo.jpg"]
/(?:[^\/]*\/)(\w+\.jpg)/,其中(?:)是不捕获分组,(\w+\.jpg)是捕获分组。regex.exec(str)的返回结果中,第一个数组元素是整体匹配的字符串,第二个元素是第一个捕获分组匹配到的内容。
/(?:[^\/]*\/)(\w+\.jpg)/
(?:)
(\w+\.jpg)
regex.exec(str)
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
正则:
\w+\.jpg$
字符串函数:
strrchr($str, '/')
如果不用正则的话,可以用basename()
这个很难吗?为什么都那么复杂?
我想多了,大家不要理我。
我觉得可以这样
/(?:[^\/]*\/)(\w+\.jpg)/
,其中(?:)
是不捕获分组,(\w+\.jpg)
是捕获分组。regex.exec(str)
的返回结果中,第一个数组元素是整体匹配的字符串,第二个元素是第一个捕获分组匹配到的内容。