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

Java正则分组无法重复?如何编写UNC路径格式校验正则?

UNC路径正则校验修改方案

问题分析

原正则存在两个核心问题:

  • 末尾冗余的.+(?<!\\)$片段逻辑错误:
    • (\\{1}\w+)+匹配完路径分段后,.+要求额外匹配至少1个字符,导致仅含两段的合法路径(如用例7的\\server\m)无法匹配
    • .+为贪婪匹配任意字符,会吞掉路径中间的连续反斜杠,导致用例3的双反斜杠错误无法被检出

最终正则

^\\\\[^\\]+(?:\\[^\\]+)+$

规则说明

  • ^ 匹配字符串开头
  • \\\\ 匹配UNC路径要求的开头双反斜杠前缀
  • [^\\]+ 匹配服务器名称,支持任意非反斜杠字符(符合不校验具体名称规则的要求)
  • (?:\\[^\\]+)+ 非捕获组,匹配「单个反斜杠+路径分段」的结构,至少出现1次,保证路径至少有「服务器+共享目录」两层结构
  • $ 匹配字符串结尾

用例验证

所有测试用例均符合预期:

  • 匹配成功:\\server\multiple\folders\example\path、\\server\m、\\server\m\w\z
  • 匹配失败:\\server\\multiple\folders\example\path、\\server\multiple\\folders\example\path、\\server\multiplefolders\example\path\、\\server、\\\server\multiple

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 00:15:03