regex表示//服务器名称或IP地址/Sharedfolder/Path/to/Saved/Files


regex for //Server Name or IP Address/Sharedfolder/Path/to/Saved/Files

我发现了这个

^'/('/[^'s'/]+)+('/)?$

但它在双前锋斜线和任何字符之后都匹配

我需要它至少匹配//servernameoripadress/shareddir,并且它可以从那里继续,即//服务器名称或IP地址/Sharedfolder/Path/to/Saved/Files

谢谢大家,如果有任何帮助,我将不胜感激。

基于正则表达式匹配DNS主机名或IP地址?:

^//(?:(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])'.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])|(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9'-]*[a-zA-Z0-9])'.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9'-]*[A-Za-z0-9]))(?:/[^/]+)+$

演示。

说明:

^// # make sure the string starts with two slashes
(?: # match an IP address...
    (([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])'.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])
| #... or a host name
    (([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9'-]*[a-zA-Z0-9])'.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9'-]*[A-Za-z0-9])
)
(?:
    /[^/]+ # match a slash, followed by at least one character...
)+ #... at least once
$ # and make sure the string ends here