Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将此正则表达式规则更改为不接受括号?_Php_Regex - Fatal编程技术网

Php 如何将此正则表达式规则更改为不接受括号?

Php 如何将此正则表达式规则更改为不接受括号?,php,regex,Php,Regex,我使用以下正则表达式规则(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 (http://www.example.com/image.jpg) 或: 我如何才

我使用以下正则表达式规则(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
(http://www.example.com/image.jpg)
或:

我如何才能做到这一点?

这是一项针对以下人员的工作:

”/(?这是以下人员的工作:


'/(?您的模式缺少
^
$
。请尝试此模式:

^((f|ht)tp)(.*?)(.gif|.png|.jpg|.jpeg)$

您的模式缺少
^
$
。请尝试此模式:

^((f|ht)tp)(.*?)(.gif|.png|.jpg|.jpeg)$

PHP警告:偏移量处的preg_replace_callback():编译失败:丢失)56@RichardRodriguez:我刚刚注意到,我已经纠正了打字错误。请再试一次。我更喜欢
\[\\[\;\(
而不是
[(\[]
)@Dukeling:为什么?字符类比交替类快(尽管PHP可能会将单字符替换优化为字符类)。我发现它更具可读性。我并没有说它会更好,只是我更喜欢它。速度差异也不需要担心。PHP警告:preg_replace_callback():编译失败:丢失)偏移量56@RichardRodriguez:我刚刚注意到,我已经纠正了输入错误。请再试一次。我更喜欢
\[\124;\(
而不是
[(\[]
@Dukeling:为什么?字符类比替换类快(尽管PHP可能会将单字符替换优化为字符类)。我觉得它更可读。我没有说它更好,只是说我更喜欢。而且速度差也不必担心。我正在寻找一个更大的字符串中的这些字符串。我正在寻找一个更大的字符串中的这些字符串。OP说它在一个更大的字符串中。OP说它在一个更大的字符串中