用于PHP的正则表达式模式的反斜杠

时间:2013-07-07 16:05:43

标签: regex url

我正在尝试在我的PHP代码(preg_replace)中执行正则表达式操作。现在我正在使用:

|^http(s)?://[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(/.*)?$|i

匹配http://google.com等网址......但现在我猜测我想要匹配的网址是什么样的呢?

http:\/\/asd.domain.com\/path\/of\/url\/something.else

我尝试过使用2x反斜杠和4x反斜杠,但它似乎不起作用。

有什么建议吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

好吧,如果您只是想匹配字符串,请添加一些反斜杠:

^http(s)?:\\?/\\?/[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(\\?/.*)?$

我使用了?量词,因此它仍然匹配之前可以匹配的网址。由于\是一个转义字符,因此您需要其中两个,第一个转义第二个\的转义属性。

请参阅demo(由于正则表达式测试程序的工作原理,我只在那里转义了正斜杠 - 分隔符是斜杠)。