我想创建一个正则表达式来按照以下方案拆分路径:
我可以将其更改为。
但它不能将文件名拆分为文件主干和扩展名。
Path: c:\foo\bar\baz.txt
Root name: c:
Parent path: c:\foo\bar
Filename: baz.txt
Stem: baz
Extension: txt
这是我的代码。问题在于,当我使用没有扩展名的文件名时,它无法工作:
^(([aA-zZ]:)\\(?:[^:]+))\\(([^\\]+)\.([^\.]+))$
我可以将其更改为。
^(([aA-zZ]:)\\(?:[^:]+))\\(([^\\]+)(\.([^\.]+))?)$
但它不能将文件名拆分为文件主干和扩展名。
([a-z]:)?((\\[^\\]+)*?)\\([a-z.]+)
可以分割为逻辑单位,但不建议使用。 - Nikos M.