簡體   English   中英

正則表達式以獲取擴展名-.net

[英]Regular expression to Get Extension - .net

環境-SharePoint工作流(.net技術)

嘗試獲取文件名的擴展名(有時是doc或docx或dwg或xlsx)。

我得到這個\\..+或這個\\.[^\\.]+$給我文件名。 我需要另一個可以擴展的表達式。 我想我需要一個表達式,該表達式將查找最后一個時期並給我字符串。

使用Path.GetExtension(fileName)而不是創建正則表達式-它看起來最后. 在文件名中,並返回帶有擴展名的子字符串。

更新:如果必須是正則表達式,請嘗試\\.[0-9a-z]+$

就像這樣:

@"(?<=\.)([^\\/.]*)$"

這意味着: ([^\\\\/.]*)任何數字中的任何非點非路徑字符,后跟字符串結尾$ 非點字符之前必須加一個不會被捕獲的點(?<=\\.) (因此,不帶擴展名的文件名被捕獲為具有空擴展名)

注意[] \\的轉義

一些有趣的測試用例:

C:\My.Path\Filename
C:\My.Path\Filename.ext
C:\My.Path\Filename.ext.ext2
..\Filename
..\Filename.ext

測試人員: http//regexr.com?361pu

我將補充說Path.GetExtensions 完成這項工作的正確工具。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM