shared/network 文件夹的严格正则表达式
Strict regular expression for shared/network folder
我正在尝试将用户的输入限制为有效的共享文件夹路径,例如
\\computer-name\drive\optional_folder1\optional_folder2\
- 以 2 个斜杠开头,后跟计算机名称、单斜杠和驱动器号。 (我把这部分记下来了)
- 以 0 或 1 个斜杠结尾。
- 可以有零个或多个单斜杠后跟文件夹名称 (\folder)。
- 除第一个斜杠外没有多个斜杠。
我试着环顾四周并制作自己的正则表达式,但找不到完美的答案。这是我当前的正则表达式:
^((\{2})([A-Za-z -._]+)(\{1})([A-Za-z -._]+))(\{1}([A-Za-z .-_])+)*(\?)$
如有任何提示,我们将不胜感激。
谢谢大家。
我简化了一点:
^(\)(\[\w\.-_]+){2,}(\?)$
所以基本上你想要
^(\) # start with slash
(\[\w\.-_]+) # followed by group of slash and name
{2,} # which should be two or more times
(\?)$ # last slash(es)
我正在尝试将用户的输入限制为有效的共享文件夹路径,例如
\\computer-name\drive\optional_folder1\optional_folder2\
- 以 2 个斜杠开头,后跟计算机名称、单斜杠和驱动器号。 (我把这部分记下来了)
- 以 0 或 1 个斜杠结尾。
- 可以有零个或多个单斜杠后跟文件夹名称 (\folder)。
- 除第一个斜杠外没有多个斜杠。
我试着环顾四周并制作自己的正则表达式,但找不到完美的答案。这是我当前的正则表达式:
^((\{2})([A-Za-z -._]+)(\{1})([A-Za-z -._]+))(\{1}([A-Za-z .-_])+)*(\?)$
如有任何提示,我们将不胜感激。
谢谢大家。
我简化了一点:
^(\)(\[\w\.-_]+){2,}(\?)$
所以基本上你想要
^(\) # start with slash
(\[\w\.-_]+) # followed by group of slash and name
{2,} # which should be two or more times
(\?)$ # last slash(es)