You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java跨平台文件路径校验正则表达式编写咨询

路径校验正则实现求助

校验规则说明

待校验输入要么为合法路径,要么命中以下任意一类错误:

  • 包含1个以上的~字符
  • ~字符未出现在路径起始位置
  • ~与\混用:属于Unix路径专属标识的~出现在使用\分隔符的Windows路径中
  • 包含1个以上的盘符标识(格式为盘符字母:,如C:)
  • 盘符标识未出现在路径起始位置
  • 盘符标识与/混用:属于Windows路径专属标识的盘符出现在使用/分隔符的Unix路径中
  • 路径中/与\两种路径分隔符混用

非法路径样例

/folder1/folder2\folder3
C:\User/root
/dev/~/
C:/a/b/c/d
~\folder
~/~
~~
C:\Folder\Subfolder\C:\

现有实现情况

已尝试的正则表达式

([A-Z|a-z]:|~|/|\\[^<em>|"<>\n?]*)|(\\\\.*?\\.*)
([a-zA-Z]:)?(\\[a-zA-Z0-9_.-]+)+\\?

业务方法说明

现有业务方法签名如下:

public static String convertPath(String path, boolean toWin)

方法功能为根据布尔参数toWin将输入路径转换为对应格式:

  • toWin为true时输出Windows格式路径,为false时输出Unix格式路径
  • Unix路径规则:可由~或/开头,除最后一级目录/文件名外,所有子目录需以/结尾,支持.(当前目录)、..(上级目录)语法,文件名不强制要求携带扩展名
  • 目前路径转换的核心逻辑已开发完成,仅缺少符合上述校验规则的正则表达式实现。

内容的提问来源于stack exchange,提问作者icarus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 04:48:16