正则表达式捕获文件名和可选扩展名

Regular Expression capture filename and optional extension

给定包含文件夹名称、文件名和可选文件扩展名的文件路径,我想捕获文件名(不带扩展名)和扩展名。

例如:

"c:\temp\test.txt" -> matches = "test" and ".txt"
"c:\temp\blob"     -> matches = "blob" and ""

提前致谢。

这应该匹配任何字符、反斜杠、任何非反斜杠和非句点字符(文件名),然后是可选的句点和扩展名的 non-period/non-backslash 字符系列。

^.*\([^.\]+)(\.[^.\]+)?$