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

Vic*_*ong 0 regex path shared-directory

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

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

  1. 以 2 个斜杠开头,后跟计算机名称、单斜杠和驱动器号。(我把这部分记下来了)
  2. 以 0 或 1 个斜杠结尾。
  3. 可以有零个或多个单斜杠,后跟文件夹名称 (\folder)。
  4. 除了第一个斜杠外,没有多个斜杠。

我试图环顾四周并制作自己的正则表达式,但找不到完美的答案。这是我当前的正则表达式:

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

任何提示将不胜感激。

谢谢你们。

str*_*tle 5

我已经简化了一点:

^(\\)(\\[\w\.-_]+){2,}(\\?)$
Run Code Online (Sandbox Code Playgroud)

所以基本上你想拥有

^(\\)              # start with slash
(\\[\w\.-_]+)      # followed by group of slash and name
{2,}               # which should be two or more times
(\\?)$             # last slash(es)
Run Code Online (Sandbox Code Playgroud)

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