我需要一个正则表达式,从中提取一个数字,该数字始终位于用 () 包装的文件末尾。
例如:
希望有一些正则表达式专家:)
最佳答案
随便写写,$
就是主题的结尾:
$pattern = '/\((\d+)\)\.png$/';
$number = preg_match($pattern, $subject, $matches) ? $matches[1] : NULL;
这是一个所谓的 anchor 定模式,它工作得很好,因为正则表达式引擎知道从哪里开始——在最后。
这个疯狂模式的其余部分只是引用所有需要引用的字符:
(, ) and . => \(, \) and \. in:
().png => \(\)\.png
然后在那里放置一组匹配项,只包含一个或多个(
+
)数字 \d
:\((\d+)\)\.png
^^^^^
最后让这个工作,添加
$
来标记结束:\((\d+)\)\.png$
^
准备运行。
关于PHP 正则表达式 : extract last number in filename,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14074131/