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

Java正则表达式需求:仅匹配目录路径而非文件路径

匹配Windows目录路径的正则表达式(排除文件路径)

需求明确

需要正则仅匹配Windows目录路径,排除包含文件名(带扩展名)的路径:

  • 匹配目标:C:\directory、C:\directory\another、D:\directory\、D:\
  • 排除目标:C:\directory\file.txt、D:\another.pdf

正则表达式

^[A-Za-z]:\\(?:[^\\/:*?"<>|\r\n]+\\)*[^\\/:*?"<>|\r\n]*\\?$

规则拆解

  1. ^[A-Za-z]:\\:匹配Windows路径的起始盘符(如C:\、D:\),确保是绝对路径格式
  2. (?:[^\\/:*?"<>|\r\n]+\\)*:匹配零或多级子目录,目录名排除Windows文件系统的非法字符,每级目录末尾带反斜杠
  3. [^\\/:*?"<>|\r\n]*:匹配最后一级目录名(允许为空,对应D:\这类根目录场景)
  4. \\?$:允许路径末尾带一个可选的反斜杠,且字符串到此结束——这是关键,确保路径末尾没有文件名(文件名通常带扩展名,且不会以反斜杠结尾)

验证结果

  • ✅ 匹配成功:C:\directory、C:\directory\another、D:\directory\、D:\
  • ❌ 匹配失败:C:\directory\file.txt、D:\another.pdf

补充说明

如果需要支持相对目录路径(如.\subdir、..\parent),可以调整正则开头部分为^(?:[A-Za-z]:\\|\.\\|\.\.\\)?,但根据控制台输入场景,绝对路径的正则已经满足需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 18:40:49