【问题标题】:regex for //Server Name or IP Address/Sharedfolder/Path/to/Saved/Files//Server Name or IP Address/Sharedfolder/Path/to/Saved/Files 的正则表达式
【发布时间】:2014-10-08 04:53:06
【问题描述】:

我找到了这个

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

但它在双斜杠和任何字符之后匹配

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

谢谢大家,我将不胜感激。

【问题讨论】:

标签: php regex validation


【解决方案1】:

基于Regular expression to match DNS hostname or 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])|(([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]))(?:/[^/]+)+$

Demo.

解释:

^// # 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-17
    • 2019-05-28
    • 2012-10-30
    • 1970-01-01
    • 2011-09-25
    • 1970-01-01
    • 1970-01-01
    • 2011-04-16
    相关资源
    最近更新 更多