匹配没有无效字符的网址的PHP正则表达式

时间:2017-03-13 11:12:40

标签: php regex string url

我正在寻找一个可以在字符串中查找网址的正则表达式,但忽略不属于网址的前/后字符。

例如,来自字符串:

example.co.uk (main site: example.com)

正则表达式会找到:

example.co.ukexaple.com

为了查找给定字符串中的URL,我使用正则表达式'#(www\.|https?://)?[a-z0-9]+\.[a-z0-9]{2,4}\S*#i'。 问题是,如果我将此正则表达式与上面的给定字符串一起使用,它会找到example.co.ukexample.com) ,并在末尾使用右括号。

是否有任何可以在字符串中找到网址的正则表达式,无论双方都有哪些字符?

谢谢!

1 个答案:

答案 0 :(得分:0)

您可能必须使用 word boundary\b ......

(?:www\.|https?:\/\/)?[a-z0-9]+\.[a-z0-9]{2,4}\S*\b
                                                  ^

<强> regex demo