RegEx匹配“//”的所有出现但不是“http://”的一部分

时间:2016-08-15 14:21:00

标签: php regex

我有一个包含HTML元素的字符串,我想将所有出现的“//”转换为“http://”,其中“//”不是“http://”的一部分

如何使用正则表达式来实现这一目标?

例如,我有以下网址:

//example.net

我想将它们转换为

http://example.net

2 个答案:

答案 0 :(得分:3)

你需要负面的背后隐藏:

(?<!http:)\/\/

请参阅demo

答案 1 :(得分:3)

如果你使用的是PHP,你可以安全地使用这个带有负面后卫的那个:

/(?<!http:|https:)\/\//

Demo

请注意,这些后视图在JavaScript中不起作用。 这个也考虑了“https://”