[英]Regex extension and language
我期待驗證一些文件名。 但無法弄清楚正確的正則表達式文件名可以是任何東西,但需要檢查文件名是否以
所以檔案
my_file_dummy_name.jpeg - not valid
my_file_dummy_name_en.jpeg - valid
對於現在我嘗試了這個(並且正在工作,但也許有更好的解決方案)
/(\_\w.\.\w+)/g
多一個:
/(\_[a-z]{2}\.[a-z]{3,4})/g
原始正則表達式的問題在於,雖然它與您想要允許的文件名相匹配,但它也會匹配您不想要的內容。
例如,以下正則表達式
/(\_\w{2}\.\w+)/g
將匹配文件my_file_dummy_name_de.mpeg
,這是一個來自德國的視頻文件。 顯然,我們不希望首先看到這一點。
試試這個正則表達式:
_(en|ru|cy)\.(jpeg|jpg|mp4|png|gif)$
在這里演示:
如果你想讓正則表達式為你做所有檢查,那么有一個更嚴格的方法:
/_(en|ru|cy)\.(jpeg|jpg|mp4|png|gif)$/
這樣您就可以確保所提到的所有限制。 此外,不需要g
lobal標志,因為我們只對字符串的結尾感興趣(這就是為什么我把EOL錨點放在$
)。 但是,如果文件名中存在混合大小寫的可能性,您可以添加i
gnore案例標記。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.