我不太擅长正则表达式,但是我将如何将文件名与路径中的扩展名分开?
D:/DCIM/image10.jpg
D:/DCIM/image11.jpg
D:/DCIM/image12.jpg
D:/DCIM/image13.jpg
我会从对方那里得到 imagex.jpg 关于字符串,x 是一个数字。
所以基本上搜索“.jpg”然后获取所有其他字符直到“/”。
编辑: 啊,pathinfo 函数将完成这项工作,尽管为了将来的目的,知道如何使用 RegEx 做这样的事情会很好。
小智 5
来自 PHP 手册:
您可以使用pathinfo函数
<?php
$path = pathinfo('D:/DCIM/image10.jpg');
echo $path['filename'];
?>
Run Code Online (Sandbox Code Playgroud)
或者您可以使用basename函数通过扩展名获取它,而不必费心从 pathinfo 结果数组中捕获(文件名和扩展名):
<?php
echo basename('D:/DCIM/image10.jpg');
?>
Run Code Online (Sandbox Code Playgroud)
祝你好运!
编辑
如果你坚持,试试这个
<?php
$files = array(
"D:/DCIM/image11.jpg",
"C:\xampp\htdocs\index.php",
"/usr/local/script.sh"
);
foreach ($files as $file) {
preg_match("/[^\/|\\\]+$/", $file, $matches);
var_dump($matches);
}
?>
Run Code Online (Sandbox Code Playgroud)
在哪里
[^\/|\\\]
Run Code Online (Sandbox Code Playgroud)
意味着您开始搜索斜杠,用反斜杠转义斜杠字符
[^\/
Run Code Online (Sandbox Code Playgroud)
或者您开始搜索反斜杠,用反斜杠转义反斜杠和括号字符。
|\\\]
Run Code Online (Sandbox Code Playgroud)
最后,您在给定字符串的末尾搜索任何内容,至少一次。
+$
Run Code Online (Sandbox Code Playgroud)
我从这篇文章中汲取了概念,
希望对您有所帮助!