正则表达式匹配网址

时间:2012-09-11 23:09:38

标签: php regex

我正在使用\b(https?|ftp|file)://[-A-Z0-9+&@#/%?=~_|!:,.;|]*[A-Z0-9+&@#/%=~_|]来匹配此字符串中的网址(为了便于查看添加了换行符;实际字符串是一件很长的事情):

Lorem ipsum dolor sit amet, consectetur adipiscing elit.
http://www.google.com Nullam id lacus turpis.
http://www.google.com?test=correct&only=1 Quisque ac posuere sem.
http://www.google.com/search?q=blah|george.

我目前的正则表达式获得前两个。对于第三个,它得到http://www.google.com/search?q=blah|george。如何在|停止比赛?即,我希望它只匹配http://www.google.com/search?q=blah

1 个答案:

答案 0 :(得分:2)

从“允许的字符”字符类中取出|