Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.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,嗨,我有一个简单的问题,但不知怎么的,我今天看起来像是智障 我想处理所有以%开头,以%结尾的字符串%This%是有效的匹配项。 以下是我写的: $data = "This should %work% here"; preg_match_all('/%(.*?)%/g', $data, $loco); echo var_dump($loco); 不知怎的,我得到$loco=NULL。我的正则表达式有什么问题 试试这个: $data = "This should %work% here"; pre

嗨,我有一个简单的问题,但不知怎么的,我今天看起来像是智障

我想处理所有以%开头,以%结尾的字符串<代码>%This%是有效的匹配项。 以下是我写的:

$data = "This should %work% here";
preg_match_all('/%(.*?)%/g', $data, $loco);
echo var_dump($loco);

不知怎的,我得到$loco=NULL。我的正则表达式有什么问题

试试这个:

$data = "This should %work% here";
preg_match_all('/%(.*?)%/i', $data, $loco);
echo var_dump($loco);

g
不是有效的修饰符


拆下它,它会很好地工作。

对我来说很好!(我刚刚删除了g作为修饰符)@Rizier123$loco不是空的吗?不,请看:在JS中,您需要
g
修饰符,但在PHP中,
preg\u match
preg\u match\u all
的存在使得它变得相当冗余。扔掉它,你会没事的(ps:
'/%([^%]+)%/'
将是一个更好的模式,我认为这是因为
g
修饰符。你不需要把它包括进去。。