0

我有以下正则表达式规则(在 PHP 中)来查找文本文档中的图像链接:

'/((f|ht)tp)(.*?)(.gif|.png|.jpg|.jpeg)/'

因此,它接受例如以下内容:

http://www.example.com/image.jpg

但是,我希望它接受以下内容:

(http://www.example.com/image.jpg)

或者:

[http://www.example.com/image.jpg]

我怎样才能做到这一点?

4

2 回答 2

3

这是负面环视断言的工作:

'/(?<![(\[])((f|ht)tp)(.*?)\.(gif|png|jpg|jpeg)(?![)\]])/'

(?<![(\[])断言没有[(在比赛开始之前,并(?![)\]])断言没有))之后。

编辑:

如果要匹配文字点,请不要忘记转义点。

于 2013-06-02T09:50:32.080 回答
0

您的模式丢失^并且$. 试试这个模式:

^((f|ht)tp)(.*?)(.gif|.png|.jpg|.jpeg)$
于 2013-06-02T09:51:29.790 回答