共享/网络文件夹的严格正则表达式

时间:2015-03-17 17:55:14

标签: regex path shared-directory

我试图将用户的输入限制为有效的共享文件夹路径,例如

\\\computer-name\drive\optional_folder1\optional_folder2\

  1. 以2斜杠开头,后跟计算机名称,单斜杠和驱动器号。 (我把这部分放下了)
  2. 以0或1斜线结束。
  3. 可以有零个或多个单斜杠,后跟文件夹名称(\文件夹)。
  4. 除了第一个之外没有多重斜杠。
  5. 我试图四处寻找并制作自己的正则表达式,但我无法找到完美的答案。这是我现在的正则表达式:

    ^((\\{2})([A-Za-z -._]+)(\\{1})([A-Za-z -._]+))(\\{1}([A-Za-z .-_])+)*(\\?)$

    任何提示都将受到赞赏。

    谢谢,伙计们。

1 个答案:

答案 0 :(得分:4)

我已经简化了一下:

^(\\)(\\[A-Za-z0-9-_]+){2,}(\\?)$

所以基本上你想拥有

^(\\)              # start with slash
(\\[A-Za-z0-9-_]+) # followed by group of slash and name
{2,}               # which should be two or more times
(\\?)$             # last slash(es)

演示:https://regex101.com/r/mD2yL7/1