说我有一个像John01Lima
这样的字符串有没有办法取出这两个数字并将它们作为可以用$ number ++递增的数字?
答案 0 :(得分:1)
如果你的格式总是'YYYYMMDD00.pdf'我会做这个小功能:
function increment_filename($incoming_string)
{
// The RegEx to Match
$pattern = "/[0-9]{2}(?=\.pdf$)/i";
// Find where it matches
preg_match($pattern, $incoming_string, $matches);
// Replace and return the match incremented
return preg_replace($pattern, $matches[0] + 1, $incoming_string);
}
如果您需要它来匹配任何文件扩展名,这应该有效:
function increment_filename($incoming_string)
{
// The RegEx to Match
$pattern = "/[0-9]{2}(?=\.[a-z]+$)/i";
// Find where it matches
preg_match($pattern, $incoming_string, $matches);
// Replace and return the match incremented
return preg_replace($pattern, $matches[0] + 1, $incoming_string);
}
希望有所帮助,这是很棒的练习来磨练我的RegEx技能。 :)