如何将localhost添加到php正则表达式中


How to add localhost to php regex?

我不知道如何编写regex,但我需要在我使用的一个程序中使localhost url有效。这是程序用于验证URL:的正则表达式

preg_match ( '/^https?:'/'/(([a-z0-9-]+'.)+[a-z]{2,6}|'d{1,3}'.'d{1,3}'.'d{1,3}'.'d{1,3})(:[0-9]+)?('/?|'/'S+)$/iu', $url )

我的本地网站的根URL是http://localhost/,如何进行验证?

我看到您已经有了IPv4地址的选项,所以只是localhost的另一个选项。

'd{1,3}链之后,刚好在)之前,添加|localhost

我只想在模式的开头添加localhost作为一个选项,所以它的开头看起来像这样:

preg_match('/^https?:'/'/(localhost|([a-z0-9-]+'.)+[a-z]{2,6} (the rest as before)

正则表达式可以拆分为以下几个部分:

https?://
(
    ([a-z0-9-]+'.)+[a-z]{2,6}
    |'d{1,3}'.'d{1,3}'.'d{1,3}'.'d{1,3}
)
(:[0-9]+)?
(/?|/'S+)

为了将localhost添加到一组有效的url中,只需在协议后的两个左括号之间添加localhost|即可。