标签: php regex
我对反引用和可选字符串的冲突性质感到有些困惑。
说我想找到一个网址,并且可选择在前面有http://,我会(http:\/\/)...,对吧?但是,这不能创建一个我可以用\ 1或$ 1或其他什么来访问的反向引用吗?
(http:\/\/)...
答案 0 :(得分:4)
所以你想要一个non-capturing subpattern:
(?:http:\/\/) ^^
此外,我建议您更改分隔符,这样就不需要转义所有斜杠,例如:
preg_replace('@(?:http://)@', ...)