[英]Extract last instance of a regular expression from string in PHP
我有以下结构的URL: http : //somewebsite.com/directory1/directory2/directory3 ...
我正在尝试从此url获取最后的目录名称,但是url的深度并不总是恒定的,因此我不认为我可以使用简单的substr或preg_match调用-是否有函数来获取最后的实例一个字符串的正则表达式匹配?
只需使用:
basename( $url )
它应该具有预期的效果
Torben的答案是处理此特定情况的正确方法。 但为了后代,这是获取正则表达式匹配的最后一个实例的方法:
preg_match_all('/pattern/', 'subject', $matches, PREG_SET_ORDER);
$last_match = end($matches); // or array_pop(), but it modifies the array
$last_match[0]
包含完整匹配项, $last_match[1]
包含第一个带括号的子模式, $last_match[1]
。
另一个兴趣点:正则表达式'/\\/([^/])$/'
应该保持原样,因为$
将其锚定在末尾。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.