添加 - >作为URL模式的分隔符

时间:2017-02-25 12:14:58

标签: php regex string url

为了提取URL我使用这个正则表达式:

'/https?\:\/\/[^\",\s\]\|]+/i'

(以空格结束,“,逗号或|)。

问题是我还需要添加“-->(3个符号-->)作为网址的中断。但是没有运气。

P.S。我知道这不是一个完美的URL验证,但URL存储在db和space中的字符串中,逗号,“,|和 - >绝对是URL的分隔符(如果在最后遇到)。

2 个答案:

答案 0 :(得分:1)

要停在多字符分隔符处,模式将重复前进1个字符,直到您在前瞻中找到分隔符:

(?:(?!delimiter).)*

在你的情况下:

https?://(?:(?!-->)[^",\]\s|])+

答案 1 :(得分:1)

以下 regex 应该这样做:

https?:\/\/.*?(?=\s|,|"|\||-->|$)

请参阅demo