首頁 後端開發 php教程 PHP正規表示式實戰:比對檔名

PHP正規表示式實戰:比對檔名

Jun 23, 2023 am 11:01 AM
php 正規表示式 檔案名稱匹配

PHP正規表示式實戰:匹配檔案名稱

正規表示式是一種強大的文字處理工具,PHP自帶的正規表示式函數提供了許多用於模式匹配和替換的方法。在檔案處理過程中,經常需要根據檔案名稱進行篩選和操作,使用正規表示式可以輕鬆實現這個目標。

  1. 符合檔案名稱副檔名

首先,我們需要提取檔案名稱中的副檔名。在PHP中,可以使用pathinfo函數將一個路徑分解成目錄、檔案名稱和副檔名等部分。但是,如果只需要提取檔案名稱的副檔名部分,則可以使用正規表示式來實作。

可以使用下列正規表示式來符合檔案名稱的副檔名部分:

preg_match('/.(?!.*/)([^./]+)$/', $filename, $matches);
登入後複製

正規表示式中使用了反向前瞻,即符合後面不是斜線和小數點的任意字元。這樣可以確保只匹配最後一個小數點之後的部分,而不會匹配檔案路徑中的小數點。匹配結果保存在$matches數組中,可以透過$matches[1]取得匹配的副檔名。

例如,對於文件名稱為photo.jpg的文件,使用上述正規表示式可以提取jpg作為副檔名。

  1. 符合特定檔案名稱

接下來,我們可以使用正規表示式來符合特定的檔案名稱格式。例如,我們要匹配以日期開頭、後面跟隨4位數字的照片檔案名,可以使用以下正規表示式:

preg_match('/^d{8}-d{4}.jpg$/', $filename, $matches);
登入後複製

正規表示式中使用了開始和結束錨定,確保匹配的檔案名必須以8位數字、中劃線、4位數字和.jpg的組合形式結尾。匹配結果保存在$matches數組中,如果沒有匹配成功,則$matches為空數組。

例如,對於文件名稱為20210101-1145.jpg的文件,使用上述正規表示式可以匹配成功。

  1. 符合多個檔案名稱格式

最後,我們可以使用正規表示式來符合多個不同格式的檔案名稱。例如,我們要匹配包括.jpg、.png和.gif副檔名的檔名,可以使用以下正規表示式:

preg_match('/.(jpg|png|gif)$/', $filename, $matches);
登入後複製

正則表達式使用了字元集合和捕獲組,匹配檔名中以.jpg、.png或.gif結尾的部分。匹配結果保存在$matches數組中,如果沒有匹配成功,則$matches為空數組。

例如,對於文件名稱為photo.jpg的文件,使用上述正規表示式可以匹配成功。同樣地,對於檔案名稱為logo.png和banner.gif的檔案也可以匹配成功。

結論

在檔案處理中,正規表示式可以幫助我們輕鬆地匹配和操作檔案名稱。本文介紹如何使用正規表示式來匹配檔案名稱的副檔名、特定檔案名稱格式和多個檔案名稱格式,並給出了對應的範例程式碼。透過了解和掌握這些技能,可以提高文件處理的效率和準確性。

以上是PHP正規表示式實戰:比對檔名的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 Dec 24, 2024 pm 04:42 PM

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南

CakePHP 日期和時間 CakePHP 日期和時間 Sep 10, 2024 pm 05:27 PM

CakePHP 日期和時間

CakePHP 檔案上傳 CakePHP 檔案上傳 Sep 10, 2024 pm 05:27 PM

CakePHP 檔案上傳

CakePHP 路由 CakePHP 路由 Sep 10, 2024 pm 05:25 PM

CakePHP 路由

CakePHP 專案配置 CakePHP 專案配置 Sep 10, 2024 pm 05:25 PM

CakePHP 專案配置

討論 CakePHP 討論 CakePHP Sep 10, 2024 pm 05:28 PM

討論 CakePHP

CakePHP 快速指南 CakePHP 快速指南 Sep 10, 2024 pm 05:27 PM

CakePHP 快速指南

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 Dec 20, 2024 am 11:31 AM

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發

See all articles